--- /dev/null
+#
+# Copyright (C) 2020 OpenWrt.org
+# This is free software, licensed under the GNU General Public License v2.
+# See /LICENSE for more information.
+#
+
+# TODO / known bugs:
+# - plugins don't work when sstrip is used for stripping
+# - no X11/wayland/xcb/kms support so far - primary target is linuxfb
+
+include $(TOPDIR)/rules.mk
+
+PKG_NAME:=qt5base
+PKG_VERSION:=5.15.0
+PKG_RELEASE:=1
+PKG_HASH:=9e7af10aece15fa9500369efde69cb220eee8ec3a6818afe01ce1e7d484824c5
+
+PKG_SYS_NAME:=qtbase-everywhere-src-$(PKG_VERSION)
+PKG_SOURCE:=$(PKG_SYS_NAME).tar.xz
+PKG_SOURCE_URL:=https://download.qt.io/official_releases/qt/$(basename $(PKG_VERSION))/$(PKG_VERSION)/submodules
+
+PKG_BUILD_DIR=$(BUILD_DIR)/$(PKG_SYS_NAME)
+HOST_BUILD_DIR=$(BUILD_DIR)/host/$(PKG_SYS_NAME)
+PKG_BUILD_PARALLEL:=1
+HOST_BUILD_PARALLEL:=1
+PKG_INSTALL:=1
+PKG_BUILD_FLAGS:=no-mips16
+# Yes, the host build depends on the target build. This is not a mistake!
+# The target build provides the (target specific) qmake.mk file which
+# is also used for host builds.
+# Host projects depend on qt5base/host which however don't build
+# if qt5base didn't install the qmake.mk file before.
+# Benefit of the target build providing qmake.mk instead of the host build
+# is that the host build really only needs to be built, if there're targets
+# which actually depend on it. At the time of this writing, only qt5tools
+# makes use of the host build.
+HOST_BUILD_DEPENDS:=qt5base
+
+include $(INCLUDE_DIR)/package.mk
+include $(INCLUDE_DIR)/host-build.mk
+include $(INCLUDE_DIR)/nls.mk
+include ./files/qmake.mk
+
+PKG_CONFIG_DEPENDS:= \
+ CONFIG_PACKAGE_qt5base-plugin-imageformats-jpeg \
+ CONFIG_PACKAGE_qt5base-network \
+ CONFIG_PACKAGE_qt5base-gui \
+ CONFIG_PACKAGE_qt5base-gl \
+ CONFIG_PACKAGE_qt5base-widgets \
+ CONFIG_PACKAGE_qt5base-examples \
+ CONFIG_PACKAGE_qt5base-plugin-platforms-minimal \
+ CONFIG_PACKAGE_qt5base-plugin-platforms-linuxfb \
+ CONFIG_PACKAGE_qt5base-plugin-input-libinput \
+# CONFIG_PACKAGE_qt5base-plugin-imageformats-png \
+# CONFIG_PACKAGE_qt5base-plugin-platforms-eglfs \
+# CONFIG_PACKAGE_qt5base-plugin-platforms-minimalegl \
+
+# Do not use sstrip for QT5. When sstrip is used the QT5 plugin loading does
+# not work, because of QT''s internal elf parser, see
+# https://bugreports.qt.io/browse/QTBUG-52567
+# Use the code from the gcc package to use strip instaed.
+ifneq ($(CONFIG_USE_SSTRIP),)
+ STRIP:=$(TARGET_CROSS)strip $(call qstrip,$(CONFIG_STRIP_ARGS))
+ RSTRIP:= \
+ export CROSS="$(TARGET_CROSS)" \
+ $(if $(CONFIG_KERNEL_KALLSYMS),NO_RENAME=1) \
+ $(if $(CONFIG_KERNEL_PROFILING),KEEP_SYMBOLS=1); \
+ NM="$(TARGET_CROSS)nm" \
+ STRIP="$(STRIP)" \
+ STRIP_KMOD="$(SCRIPT_DIR)/strip-kmod.sh" \
+ $(SCRIPT_DIR)/rstrip.sh
+endif
+
+define Package/qt5base/Default
+ SECTION:=video-frameworks
+ CATEGORY:=Video
+ SUBMENU:=Frameworks and Toolkits
+ TITLE:=Qt5base
+ URL:=http://qt.io
+endef
+
+# define Package/qt5base
+# $(call Package/qt5base/Default)
+# DEPENDS:=
+# MENU:=1
+# endef
+
+define Package/qt5base-concurrent
+ $(call Package/qt5base/Default)
+ TITLE+=concurrent
+ DEPENDS+=+qt5base-core
+endef
+
+define Package/qt5base-gl
+ $(call Package/qt5base/Default)
+ TITLE+=gl
+ DEPENDS+=+qt5base-core +qt5base-gui +qt5base-widgets @BROKEN
+endef
+
+define Package/qt5base-core
+ $(call Package/qt5base/Default)
+ TITLE+=core
+ DEPENDS+=+libpthread +zlib +libzstd +libpcre2-16 +libstdcpp +librt +libdouble-conversion $(ICONV_DEPENDS) +PACKAGE_icu:icu #FIXME: do not include ICONV_DEPENDS if ICU is selected (though, that's only an issue when using GNU iconv)
+endef
+
+define Package/qt5base-gui
+ $(call Package/qt5base/Default)
+ TITLE+=gui
+ DEPENDS+=+qt5base-core +libpng +fontconfig +libfreetype
+endef
+
+define Package/qt5base-network
+ $(call Package/qt5base/Default)
+ TITLE+=network
+ DEPENDS+=+qt5base-core +libopenssl
+endef
+
+# seems to be only present as static lib
+# define Package/qt5base-paltformSupport
+# $(call Package/qt5base/Default)
+# DEPENDS+=
+# endef
+
+define Package/qt5base-printSupport
+ $(call Package/qt5base/Default)
+ TITLE+=print support
+ DEPENDS+=+qt5base-core +qt5base-gui +qt5base-widgets
+endef
+
+define Package/qt5base-sql
+ $(call Package/qt5base/Default)
+ TITLE+=sql
+ DEPENDS+=+qt5base-core
+endef
+
+define Package/qt5base-test
+ $(call Package/qt5base/Default)
+ TITLE+=test
+ DEPENDS+=+qt5base-core
+endef
+
+define Package/qt5base-widgets
+ $(call Package/qt5base/Default)
+ TITLE+=widgets
+ DEPENDS+=+qt5base-core +qt5base-gui
+endef
+
+define Package/qt5base-xml
+ $(call Package/qt5base/Default)
+ TITLE+=xml
+ DEPENDS+=+qt5base-core
+endef
+
+#### plugins
+
+####### bearer
+
+define Package/qt5base-plugin-bearer-generic
+ $(call Package/qt5base/Default)
+TITLE+=bearer (plugin)
+ DEPENDS+=+qt5base-core +qt5base-network
+endef
+
+####### generic / input
+
+define Package/qt5base-plugin-input-libinput
+ $(call Package/qt5base/Default)
+ TITLE+=libinput (plugin)
+ DEPENDS+=+qt5base-core +qt5base-gui +libinput
+endef
+
+define Package/qt5base-plugin-input-evdevkeyboard
+ $(call Package/qt5base/Default)
+ TITLE+=evdev keyboard (plugin)
+ DEPENDS+=+qt5base-core +qt5base-gui +libudev +PACKAGE_qt5base-plugin-input-libinput:libinput
+endef
+
+define Package/qt5base-plugin-input-evdevmouse
+ $(call Package/qt5base/Default)
+ TITLE+=evdev mouse (plugin)
+ DEPENDS+=+qt5base-core +qt5base-gui +libudev +PACKAGE_qt5base-plugin-input-libinput:libinput
+endef
+
+define Package/qt5base-plugin-input-evdevtablet
+ $(call Package/qt5base/Default)
+ TITLE+=evdev tablet (plugin)
+ DEPENDS+=+qt5base-core +qt5base-gui +libudev +PACKAGE_qt5base-plugin-input-libinput:libinput
+endef
+
+define Package/qt5base-plugin-input-evdevtouch
+ $(call Package/qt5base/Default)
+ TITLE+=evdev touch (plugin)
+ DEPENDS+=+qt5base-core +qt5base-gui +libudev +PACKAGE_qt5base-plugin-input-libinput:libinput
+endef
+
+####### imageformats
+
+#define Package/qt5base-plugin-imageformats-gif
+# $(call Package/qt5base/Default)
+#TITLE+=imageformat gif (plugin)
+# DEPENDS+=+qt5base-core +qt5base-gui
+#endef
+
+define Package/qt5base-plugin-imageformats-ico
+ $(call Package/qt5base/Default)
+ TITLE+=imageformat ico (plugin)
+ DEPENDS+=+qt5base-core +qt5base-gui
+endef
+
+define Package/qt5base-plugin-imageformats-jpeg
+ $(call Package/qt5base/Default)
+ TITLE+=imageformat jpeg (plugin)
+ DEPENDS+=+qt5base-core +qt5base-gui +libjpeg
+endef
+
+#define Package/qt5base-plugin-imageformats-png
+# $(call Package/qt5base/Default)
+# TITLE+=imageformat png (plugin)
+# DEPENDS+=+qt5base-core +qt5base-gui +libpng
+#endef
+
+####### platforms
+
+#define Package/qt5base-plugin-platforms-eglfs
+# $(call Package/qt5base/Default)
+# TITLE+=platform eglfs (plugin)
+# DEPENDS+=+qt5base-core +qt5base-gui +libfreetype +fontconfig
+#endef
+
+#define Package/qt5base-plugin-platforms-minimalegl
+# $(call Package/qt5base/Default)
+# TITLE+=platform minimalegl (plugin)
+# DEPENDS+=+qt5base-core +qt5base-gui +libfreetype +fontconfig
+#endef
+
+define Package/qt5base-plugin-platforms-linuxfb
+ $(call Package/qt5base/Default)
+ TITLE+=platform linuxfb (plugin)
+ DEPENDS+=+qt5base-core +qt5base-gui +libfreetype +fontconfig +libudev +PACKAGE_qt5base-plugin-input-libinput:libinput
+endef
+
+define Package/qt5base-plugin-platforms-minimal
+ $(call Package/qt5base/Default)
+ TITLE+=platform minimal (plugin)
+ DEPENDS+=+qt5base-core +qt5base-gui +libfreetype +fontconfig
+endef
+
+define Package/qt5base-plugin-platforms-offscreen
+ $(call Package/qt5base/Default)
+ TITLE+=platform offscreen (plugin)
+ DEPENDS+=+qt5base-core +qt5base-gui +libfreetype +fontconfig
+endef
+
+define Package/qt5base-plugin-platforms-vnc
+ $(call Package/qt5base/Default)
+ TITLE+=platform vnc (plugin)
+ DEPENDS+=+qt5base-core +qt5base-gui +qt5base-network +libfreetype +fontconfig +libudev +PACKAGE_qt5base-plugin-input-libinput:libinput
+endef
+
+
+
+###### sql
+
+#define Package/qt5base-plugin-sqldrivers-sqlite
+# $(call Package/qt5base/Default)
+# TITLE+=sqldriver sqlite (plugin)
+# DEPENDS+=+qt5base-core +qt5base-sql +libsqlite3
+#endef
+
+define Package/qt5base-examples
+ $(call Package/qt5base/Default)
+ TITLE+=examples
+ DEPENDS+=\
+ +qt5base-core \
+ +qt5base-gui \
+ +qt5base-widgets \
+ +qt5base-network \
+ +qt5base-sql \
+ +qt5base-xml \
+ +qt5base-printSupport \
+ +qt5base-concurrent \
+ +qt5base-gl
+endef
+
+define Build/Prepare
+ $(call Build/Prepare/Default)
+ $(CP) \
+ ./files/mkspecs/linux-openwrt-g++ \
+ $(PKG_BUILD_DIR)/mkspecs/
+endef
+
+# TARGET_CFLAGS += \
+# -I$(STAGING_DIR)/usr/include/freetype2 \
+# -I$(STAGING_DIR)/usr/include/libdrm
+
+define Build/Configure
+ # CROSS/TARGET_* need to be passed to configure, in order to use cross-compiling tools to check for requirements.
+ # Usually used variables such as CC/CXX/CFLAGS/CXXFLAGS/LDFLAGS would be used for compilation of host tools (qmake, moc, etc.),
+ # hence we use the TARGET_* nomenclature.
+ #
+ # NOTES:
+ # - icu support currently depends on selection of icu package which is not ideal, since unpredictable.
+ # - icu support overrides iconv support
+ ( cd $(PKG_BUILD_DIR) ; \
+ TARGET_CROSS="$(TARGET_CROSS)" \
+ TARGET_CFLAGS="$(TARGET_CFLAGS)" \
+ TARGET_CXXFLAGS="$(TARGET_CFLAGS) $(TARGET_CXXFLAGS)" \
+ TARGET_LDFLAGS="$(TARGET_LDFLAGS)" \
+ PKG_CONFIG_SYSROOT_DIR="$(STAGING_DIR)" \
+ ./configure \
+ --prefix=$(QT_INSTALL_PREFIX) \
+ --extprefix=$(QT_EXTPREFIX) \
+ --hostprefix=$(QT_HOST_PREFIX) \
+ --gcc-sysroot=no \
+ --bindir=$(QT_INSTALL_BINS) \
+ --headerdir=$(QT_INSTALL_HEADERS) \
+ --libdir=$(QT_INSTALL_LIBS) \
+ --archdatadir=$(QT_INSTALL_ARCHDATA) \
+ --plugindir=$(QT_INSTALL_PLUGINS) \
+ --libexecdir=$(QT_INSTALL_LIBEXECS) \
+ --importdir=$(QT_INSTALL_IMPORTS) \
+ --qmldir=$(QT_INSTALL_QML) \
+ --datadir=$(QT_INSTALL_DATA) \
+ --docdir=$(QT_INSTALL_DOCS) \
+ --translationdir=$(QT_INSTALL_TRANSLATIONS) \
+ --sysconfdir=$(QT_INSTALL_CONFIGURATION) \
+ --examplesdir=$(QT_INSTALL_EXAMPLES) \
+ --testsdir=$(QT_INSTALL_TESTS) \
+ --hostbindir=$(QT_HOST_BINS) \
+ --hostlibdir=$(QT_HOST_LIBS) \
+ --hostdatadir=$(QT_HOST_DATA) \
+ --verbose=yes \
+ --opensource \
+ --confirm-license \
+ --release=yes \
+ --optimized-tools=no \
+ --optimize-size=no \
+ --strip=no \
+ --shared=yes \
+ --framework=no \
+ --xplatform=linux-openwrt-g++ \
+ --reduce-exports=no \
+ --reduce-relocations=no \
+ --pch=no \
+ --ltcg=no \
+ --use-gold-linker=no \
+ --warnings-are-errors=no \
+ --pkg-config=yes \
+ --compile-examples=$(if $(CONFIG_PACKAGE_qt5base-examples),yes,no) \
+ $(if $(CONFIG_PACKAGE_qt5base-examples),,--nomake=examples) \
+ --gui=$(if $(CONFIG_PACKAGE_qt5base-gui),yes,no) \
+ --widgets=$(if $(CONFIG_PACKAGE_qt5base-widgets),yes,no) \
+ --dbus=no \
+ --accessibility=yes \
+ --doubleconversion=system \
+ --glib=no \
+ --eventfd=no \
+ --inotify=no \
+ --iconv=$(if $(CONFIG_BUILD_NLS),$(if $(CONFIG_LIBC_USE_GLIBC)$(CONFIG_LIBC_USE_MUSL),posix)$(if $(CONFIG_LIBC_USE_UCLIBC),gnu),no) \
+ --icu=$(if $(CONFIG_PACKAGE_icu),yes,no) \
+ --pcre=system \
+ --zlib=system \
+ --journald=no \
+ --syslog=no \
+ --ssl=$(if $(CONFIG_PACKAGE_qt5base-network),yes,no) \
+ --openssl-linked$(if $(CONFIG_PACKAGE_qt5base-network),,=no) \
+ --libproxy=no \
+ --system-proxies=yes \
+ --cups=no \
+ --fontconfig=yes \
+ --freetype=system \
+ --harfbuzz=no \
+ --gtk=no \
+ --opengl=no \
+ --opengles3=no \
+ --egl=no \
+ --xcb-xlib=no \
+ --qpa=$(if $(CONFIG_PACKAGE_qt5base-plugin-platforms-linuxfb),linuxfb,) \
+ --directfb=no \
+ --eglfs=no \
+ --gbm=no \
+ --linuxfb=$(if $(CONFIG_PACKAGE_qt5base-plugin-platforms-linuxfb),yes,no) \
+ --xcb=no \
+ \
+ --libudev=yes \
+ --evdev=yes \
+ --libinput=$(if $(CONFIG_PACKAGE_qt5base-plugin-input-libinput),yes,no) \
+ --mtdev=no \
+ --tslib=no \
+ --bundled-xcb-xinput=no \
+ --xkbcommon=no \
+ --gif=$(if $(CONFIG_PACKAGE_qt5base-gui),yes,no) \
+ --ico=$(if $(CONFIG_PACKAGE_qt5base-plugin-imageformats-ico),yes,no) \
+ --libjpeg=$(if $(CONFIG_PACKAGE_qt5base-plugin-imageformats-jpeg),system,no) \
+ --libpng=system \
+ --sql-db2=no \
+ --sql-ibase=no \
+ --sql-mysql=no \
+ --sql-oci=no \
+ --sql-odbc=no \
+ --sql-psql=no \
+ --sql-sqlite=no \
+ --sql-sqlite2=no \
+ --sql-tds=no \
+ --sqlite=no \
+ )
+endef
+
+
+define Host/Configure
+ # CROSS/TARGET_* need to be passed to configure, in order to use cross-compiling tools to check for requirements.
+ # Usually used variables such as CC/CXX/CFLAGS/CXXFLAGS/LDFLAGS would be used for compilation of host tools (qmake, moc, etc.),
+ # hence we use the TARGET_* nomenclature.
+ ( cd $(HOST_BUILD_DIR) ; \
+ TARGET_CFLAGS="$(HOST_CFLAGS)" \
+ TARGET_CXXFLAGS="$(HOST_CFLAGS) $(HOST_CXXFLAGS)" \
+ TARGET_LDFLAGS="$(HOST_LDFLAGS)" \
+ ./configure \
+ --prefix=$(STAGING_DIR_HOST) \
+ --hostprefix=$(STAGING_DIR_HOST) \
+ --hostdatadir=$(STAGING_DIR_HOST)/share \
+ --datadir=$(STAGING_DIR_HOST)/share \
+ --archdatadir=$(STAGING_DIR_HOST)/lib \
+ --gcc-sysroot=no \
+ --verbose=yes \
+ --opensource \
+ --confirm-license \
+ --release=yes \
+ --optimized-tools=no \
+ --optimize-size=no \
+ --strip=no \
+ --shared=yes \
+ --framework=no \
+ --reduce-exports=no \
+ --reduce-relocations=no \
+ --pch=no \
+ --ltcg=no \
+ --use-gold-linker=no \
+ --warnings-are-errors=no \
+ --pkg-config=yes \
+ --compile-examples=no \
+ --make=libs \
+ --nomake=tools \
+ --nomake=examples \
+ --gui=yes \
+ --widgets=no \
+ --dbus=no \
+ --accessibility=no \
+ --doubleconversion=qt \
+ --glib=no \
+ --eventfd=no \
+ --inotify=no \
+ --iconv=no \
+ --icu=no \
+ --pcre=qt \
+ --zlib=qt \
+ --journald=no \
+ --syslog=no \
+ --ssl=no \
+ --libproxy=no \
+ --system-proxies=no \
+ --cups=no \
+ --fontconfig=no \
+ --freetype=qt \
+ --harfbuzz=no \
+ --gtk=no \
+ --opengl=no \
+ --opengles3=no \
+ --egl=no \
+ --xcb-xlib=no \
+ --directfb=no \
+ --eglfs=no \
+ --gbm=no \
+ --linuxfb=no \
+ --xcb=no \
+ \
+ --libudev=no \
+ --evdev=no \
+ --libinput=no \
+ --mtdev=no \
+ --tslib=no \
+ --bundled-xcb-xinput=no \
+ --xkbcommon=no \
+ --gif=no \
+ --ico=no \
+ --libjpeg=no \
+ --libpng=no \
+ --sql-db2=no \
+ --sql-ibase=no \
+ --sql-mysql=no \
+ --sql-oci=no \
+ --sql-odbc=no \
+ --sql-psql=no \
+ --sql-sqlite=no \
+ --sql-sqlite2=no \
+ --sql-tds=no \
+ --sqlite=no \
+ )
+endef
+
+define Build/InstallDev
+ $(INSTALL_DIR) \
+ $(STAGING_DIR)/host/mk
+
+ $(CP) \
+ ./files/qmake.mk \
+ $(STAGING_DIR)/host/mk/
+
+ $(call Build/Install/HostFiles,$(1))
+ $(call Build/Install/Headers,$(1))
+ $(call Build/Install/Libs,$(1),*)
+endef
+
+define Host/Install
+ $(call Host/Install/Default)
+
+ $(INSTALL_DIR) \
+ $(STAGING_DIR_HOST)/bin \
+ $(STAGING_DIR_HOST)/lib \
+ $(STAGING_DIR_HOST)/include \
+ $(STAGING_DIR_HOST)/share
+
+ $(CP) \
+ $(HOST_INSTALL_DIR)/lib/* \
+ $(STAGING_DIR_HOST)/lib/
+
+ $(CP) \
+ $(HOST_INSTALL_DIR)/include/* \
+ $(STAGING_DIR_HOST)/include/
+
+ $(CP) \
+ $(HOST_INSTALL_DIR)/share/* \
+ $(STAGING_DIR_HOST)/share/
+
+ $(CP) \
+ $(HOST_INSTALL_DIR)/bin/* \
+ $(STAGING_DIR_HOST)/bin/
+endef
+
+define Package/qt5base-concurrent/install
+ $(call Build/Install/Libs,$(1),libQt5Concurrent)
+endef
+
+define Package/qt5base-core/install
+ $(call Build/Install/Libs,$(1),libQt5Core)
+endef
+
+define Package/qt5base-gl/install
+ $(call Build/Install/Libs,$(1),libQt5OpenGL)
+endef
+
+define Package/qt5base-gui/install
+ $(call Build/Install/Libs,$(1),libQt5Gui)
+endef
+
+define Package/qt5base-network/install
+ $(call Build/Install/Libs,$(1),libQt5Network)
+endef
+
+define Package/qt5base-printSupport/install
+ $(call Build/Install/Libs,$(1),libQt5PrintSupport)
+endef
+
+define Package/qt5base-sql/install
+ $(call Build/Install/Libs,$(1),libQt5Sql)
+endef
+
+define Package/qt5base-test/install
+ $(call Build/Install/Libs,$(1),libQt5Test)
+endef
+
+define Package/qt5base-widgets/install
+ $(call Build/Install/Libs,$(1),libQt5Widgets)
+endef
+
+define Package/qt5base-xml/install
+ $(call Build/Install/Libs,$(1),libQt5Xml)
+endef
+
+define Package/qt5base-plugin-bearer-generic/install
+ $(call Build/Install/Plugins,$(1),bearer,libqgenericbearer)
+endef
+
+define Package/qt5base-plugin-input-libinput/install
+ $(call Build/Install/Plugins,$(1),generic,libqlibinputplugin)
+endef
+
+define Package/qt5base-plugin-input-evdevkeyboard/install
+ $(call Build/Install/Plugins,$(1),generic,libqevdevkeyboardplugin)
+endef
+
+define Package/qt5base-plugin-input-evdevmouse/install
+ $(call Build/Install/Plugins,$(1),generic,libqevdevmouseplugin)
+endef
+
+define Package/qt5base-plugin-input-evdevtablet/install
+ $(call Build/Install/Plugins,$(1),generic,libqevdevtabletplugin)
+endef
+
+define Package/qt5base-plugin-input-evdevtouch/install
+ $(call Build/Install/Plugins,$(1),generic,libqevdevtouchplugin)
+endef
+
+#define Package/qt5base-plugin-imageformats-gif/install
+# $(call Build/Install/Plugins,$(1),imageformats,libqgif)
+#endef
+
+define Package/qt5base-plugin-imageformats-ico/install
+ $(call Build/Install/Plugins,$(1),imageformats,libqico)
+endef
+
+define Package/qt5base-plugin-imageformats-jpeg/install
+ $(call Build/Install/Plugins,$(1),imageformats,libqjpeg)
+endef
+
+#define Package/qt5base-plugin-imageformats-png/install
+# $(call Build/Install/Plugins,$(1),imageformats,libqpng)
+#endef
+
+define Package/qt5base-plugin-platforms-linuxfb/install
+ $(call Build/Install/Plugins,$(1),platforms,libqlinuxfb)
+endef
+
+define Package/qt5base-plugin-platforms-vnc/install
+ $(call Build/Install/Plugins,$(1),platforms,libqvnc)
+endef
+
+#define Package/qt5base-plugin-platforms-eglfs/install
+# $(call Build/Install/Plugins,$(1),platforms,libqeglfs)
+#endef
+
+#define Package/qt5base-plugin-platforms-minimalegl/install
+# $(call Build/Install/Plugins,$(1),platforms,libqminimalegl)
+#endef
+
+define Package/qt5base-plugin-platforms-minimal/install
+ $(call Build/Install/Plugins,$(1),platforms,libqminimal)
+endef
+
+define Package/qt5base-plugin-platforms-offscreen/install
+ $(call Build/Install/Plugins,$(1),platforms,libqoffscreen)
+endef
+
+#define Package/qt5base-plugin-sqldrivers-sqlite/install
+# $(call Build/Install/Plugins,$(1),sqldrivers,libqsqlite)
+#endef
+
+define Package/qt5base-examples/install
+ $(call Build/Install/Examples,$(1))
+endef
+
+# $(eval $(call BuildPackage,qt5base))
+$(eval $(call BuildPackage,qt5base-concurrent))
+$(eval $(call BuildPackage,qt5base-core))
+$(eval $(call BuildPackage,qt5base-gui))
+$(eval $(call BuildPackage,qt5base-gl))
+$(eval $(call BuildPackage,qt5base-network))
+$(eval $(call BuildPackage,qt5base-printSupport))
+$(eval $(call BuildPackage,qt5base-sql))
+$(eval $(call BuildPackage,qt5base-test))
+$(eval $(call BuildPackage,qt5base-widgets))
+$(eval $(call BuildPackage,qt5base-xml))
+$(eval $(call BuildPackage,qt5base-plugin-bearer-generic))
+$(eval $(call BuildPackage,qt5base-plugin-input-libinput))
+$(eval $(call BuildPackage,qt5base-plugin-input-evdevkeyboard))
+$(eval $(call BuildPackage,qt5base-plugin-input-evdevmouse))
+$(eval $(call BuildPackage,qt5base-plugin-input-evdevtablet))
+$(eval $(call BuildPackage,qt5base-plugin-input-evdevtouch))
+#$(eval $(call BuildPackage,qt5base-plugin-imageformats-gif))
+$(eval $(call BuildPackage,qt5base-plugin-imageformats-ico))
+$(eval $(call BuildPackage,qt5base-plugin-imageformats-jpeg))
+#$(eval $(call BuildPackage,qt5base-plugin-imageformats-png))
+$(eval $(call BuildPackage,qt5base-plugin-platforms-linuxfb))
+#$(eval $(call BuildPackage,qt5base-plugin-platforms-eglfs))
+#$(eval $(call BuildPackage,qt5base-plugin-platforms-minimalegl))
+$(eval $(call BuildPackage,qt5base-plugin-platforms-minimal))
+$(eval $(call BuildPackage,qt5base-plugin-platforms-offscreen))
+$(eval $(call BuildPackage,qt5base-plugin-platforms-vnc))
+#$(eval $(call BuildPackage,qt5base-plugin-sqldrivers-sqlite))
+$(eval $(call BuildPackage,qt5base-examples))
+$(eval $(call HostBuild))
--- /dev/null
+#
+# qmake configuration for building with linux-openwrt-g++
+#
+
+MAKEFILE_GENERATOR = UNIX
+CONFIG += incremental
+QMAKE_INCREMENTAL_STYLE = sublib
+
+include(../common/linux.conf)
+include(../common/gcc-base-unix.conf)
+include(../common/g++-unix.conf)
+
+
+# modifications to gcc-base.conf (included by gcc-base-unix.conf)
+QMAKE_CFLAGS += $$(TARGET_CFLAGS)
+QMAKE_CXXFLAGS += $$(TARGET_CXXFLAGS)
+QMAKE_LFLAGS += $$(TARGET_LDFLAGS)
+
+# modifications to g++.conf
+QMAKE_CC = $$(TARGET_CROSS)gcc
+QMAKE_CXX = $$(TARGET_CROSS)g++
+
+QMAKE_LINK_C = $$QMAKE_CC
+QMAKE_LINK_C_SHLIB = $$QMAKE_CC
+QMAKE_LINK = $$QMAKE_CXX
+QMAKE_LINK_SHLIB = $$QMAKE_CXX
+
+
+# modifications to linux.conf
+QMAKE_AR = $$(TARGET_CROSS)ar cqs
+QMAKE_RANLIB = $$(TARGET_CROSS)ranlib # QMAKE_RANLIB is set to NULL in linux.conf. Why? Not needed anymore? Set it anyway, just in case...
+QMAKE_OBJCOPY = $$(TARGET_CROSS)objcopy
+QMAKE_NM = $$(TARGET_CROSS)nm # whole qt5 project doesn't use $QMAKE_NM - wonder why it's defined in linux.conf at all. However better set it to ours than keep it being set to the host's version, just in case...
+QMAKE_STRIP = # not used, since -no-strip is passed. Let's OpenWrt do the stripping
+
+
+load(qt_config)
--- /dev/null
+/****************************************************************************
+**
+** Copyright (C) 2014 Digia Plc and/or its subsidiary(-ies).
+** Contact: http://www.qt-project.org/legal
+**
+** This file is part of the qmake spec of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:LGPL21$
+** Commercial License Usage
+** Licensees holding valid commercial Qt licenses may use this file in
+** accordance with the commercial license agreement provided with the
+** Software or, alternatively, in accordance with the terms contained in
+** a written agreement between you and Digia. For licensing terms and
+** conditions see http://qt.digia.com/licensing. For further information
+** use the contact form at http://qt.digia.com/contact-us.
+**
+** GNU Lesser General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU Lesser
+** General Public License version 2.1 or version 3 as published by the Free
+** Software Foundation and appearing in the file LICENSE.LGPLv21 and
+** LICENSE.LGPLv3 included in the packaging of this file. Please review the
+** following information to ensure the GNU Lesser General Public License
+** requirements will be met: https://www.gnu.org/licenses/lgpl.html and
+** http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
+**
+** In addition, as a special exception, Digia gives you certain additional
+** rights. These rights are described in the Digia Qt LGPL Exception
+** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
+**
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
+#include "../linux-g++/qplatformdefs.h"
--- /dev/null
+#
+# Copyright (C) 2020 OpenWrt.org
+# This is free software, licensed under the GNU General Public License v2.
+# See /LICENSE for more information.
+#
+
+# qmake - oh my.. qmake is supposed to generate Makefiles suitable for cross-compiling
+# however fails itself hard being used in a cross compiling toolchain in any sane way.
+#
+# There are the QT_INSTALL_* variables - which get set via Qt's configure options,
+# containing paths which become hardcoded into the qmake binary.
+# Those paths are supposed to refer to the target system, however are also used for
+# include and linker paths.
+# Hence, setting QT_INSTALL_PREFIX=/usr would result in -I/usr/include,
+# -L/usr/lib, etc., referencing the host headers and libraries.
+# The QT_SYSROOT variable looks most promising for distinguishing between
+# host and target specific paths, however it fails hard and is totally undocumented.
+# The extprefix variable tries to cover the situation, however actually just prepends
+# its path to the QT_INSTALL_* variables - basically cosmetics.
+#
+# The QT_HOST_* variables are used for host tools, libraries, mkspecs and its data.
+#
+# As a consequence we set QT_INSTALL_* and QT_HOST_* to absolute paths, which
+# inevitably results in the following issues:
+#
+# - 'make install' results in paths like:
+# /tmp/install_root/home/cross/openwrt/staging_dir/target-*/usr.
+# This is workarounded by overriding the PKG_INSTALL_DIR, so the Makefiles don't
+# have to care about that.
+# - Once compiled, qmake's location and its requirements (mkspecs, etc.) are fixed,
+# since its absolute paths were hardcoded. No moving around of the toolchain.
+# - Those variables might be used for target binaries for some weird reason, so
+# paths to the host staging_dir would make it to the target, logically leading to
+# errors.
+# - Paths might make it into target binaries, thus referencing non-existing
+# objects on the target platform. Tihs behaviour wasn't observed so far, however
+# one might use the QT_INSTALL_* variables for some weird reason during runtime.
+
+# for target builds (STAGING_DIR)
+QT_EXTPREFIX:=$(STAGING_DIR)/$(CONFIGURE_PREFIX)
+QT_SYSROOT:=
+QT_INSTALL_CONFIGURATION:=/etc/qt5
+QT_INSTALL_PREFIX:=$(CONFIGURE_PREFIX)
+QT_INSTALL_LIBS:=$(QT_INSTALL_PREFIX)/lib
+QT_INSTALL_DATA:=$(QT_INSTALL_PREFIX)/share/qt5
+QT_INSTALL_HEADERS:=$(QT_INSTALL_PREFIX)/include
+QT_INSTALL_BINS:=$(QT_INSTALL_PREFIX)/bin
+QT_INSTALL_DOCS:=$(QT_INSTALL_DATA)/doc
+QT_INSTALL_TRANSLATIONS:=$(QT_INSTALL_DATA)/translations
+QT_INSTALL_ARCHDATA:=$(QT_INSTALL_LIBS)/qt5
+QT_INSTALL_LIBEXECS:=$(QT_INSTALL_ARCHDATA)
+QT_INSTALL_TESTS:=$(QT_INSTALL_ARCHDATA)/tests
+QT_INSTALL_PLUGINS:=$(QT_INSTALL_ARCHDATA)/plugins
+QT_INSTALL_IMPORTS:=$(QT_INSTALL_ARCHDATA)/imports
+QT_INSTALL_QML:=$(QT_INSTALL_ARCHDATA)/qml
+QT_INSTALL_EXAMPLES:=$(QT_INSTALL_ARCHDATA)/examples
+QT_INSTALL_DEMOS:=$(QT_INSTALL_EXAMPLES)
+# for host builds defined in target project files (STAGING_DIR)/host
+QT_HOST_EXTPREFIX:=$(STAGING_DIR)/host
+QT_HOST_PREFIX:=$(QT_HOST_EXTPREFIX)
+QT_HOST_DATA:=$(QT_HOST_PREFIX)/share
+QT_HOST_BINS:=$(QT_HOST_PREFIX)/bin
+QT_HOST_LIBS:=$(QT_HOST_PREFIX)/lib
+
+QMAKE_SPEC:=linux-g++
+QMAKE_XSPEC:=linux-openwrt-g++
+
+PKG_INSTALL_DIR_ROOT:=$(PKG_INSTALL_DIR)
+PKG_INSTALL_DIR:=$(PKG_INSTALL_DIR_ROOT)/$(STAGING_DIR)
+
+# for target independant host builds (STAGING_DIR_HOST)
+HOST_INSTALL_DIR_ROOT:=$(HOST_INSTALL_DIR)
+HOST_INSTALL_DIR:=$(HOST_INSTALL_DIR_ROOT)/$(STAGING_DIR_HOST)
+#HOST_INSTALL_DIR:=$(HOST_INSTALL_DIR_ROOT)/$(STAGING_DIR)
+
+QMAKE_TARGET=$(STAGING_DIR)/host/bin/qmake
+QMAKE_HOST=$(STAGING_DIR_HOST)/bin/qmake
+
+define Build/Configure/Default
+ TARGET_CROSS="$(TARGET_CROSS)" \
+ TARGET_CFLAGS="$(TARGET_CPPFLAGS) $(TARGET_CFLAGS)" \
+ TARGET_CXXFLAGS="$(TARGET_CPPFLAGS) $(TARGET_CXXFLAGS)" \
+ TARGET_LDFLAGS="$(TARGET_LDFLAGS)" \
+ $(QMAKE_TARGET) \
+ -o $(PKG_BUILD_DIR)/$(MAKE_PATH)/Makefile \
+ $(PKG_BUILD_DIR)/$(MAKE_PATH)/$(if $(1),$(1).pro,)
+endef
+
+define Host/Configure/Default
+ $(QMAKE_HOST) \
+ -o $(HOST_BUILD_DIR)/$(MAKE_PATH)/Makefile \
+ $(HOST_BUILD_DIR)/$(MAKE_PATH)/$(if $(1),$(1).pro,)
+endef
+
+# We need to pass all qmake (TARGET_*) related variables to $(MAKE) as well, as
+# (generated) Makefiles may invoke qmake once again for creating further Makefiles.
+# Actually we'd also like to pass all other vars (defined in $MAKE_VARS and
+# $MAKE_FLAGS) to also make ordinary non-qmake generated Makefiles calling tool-
+# chain executables like $CC/$CXX/$AR.. work, however this would interfere with
+# qmake generated Makefiles, since they expect variables being set differently.
+# For example qmake generated Makefiles expect $AR to also contain ar's arguments,
+# while ordinary Makefiles don't.
+# Until we find a way to disginguish both kinds of Makefiles, we will neglect
+# ordinary Makefiles calling toolchain executables, however as they might take
+# $CFLAGS/CXXFLAGS into account (e.g. flags as -D*), we pass at least those
+# hoping to not interfere / break something.
+# Mixing qmake generated and ordinary Makfiles - both calling toolchain execut-
+# ables - is probably a very rare case anyway.
+define Build/Compile/Default
+ +TARGET_CROSS="$(TARGET_CROSS)" \
+ TARGET_CFLAGS="$(TARGET_CPPFLAGS) $(TARGET_CFLAGS)" \
+ TARGET_CXXFLAGS="$(TARGET_CPPFLAGS) $(TARGET_CXXFLAGS)" \
+ TARGET_LDFLAGS="$(TARGET_LDFLAGS)" \
+ CFLAGS="$(TARGET_CPPFLAGS) $(TARGET_CFLAGS)" \
+ CXXFLAGS="$(TARGET_CPPFLAGS) $(TARGET_CXXFLAGS)" \
+ LDFLAGS="$(TARGET_LDFLAGS)" \
+ $(MAKE) $(PKG_JOBS) -C $(PKG_BUILD_DIR)/$(MAKE_PATH) \
+ $(1)
+endef
+
+define Host/Compile/Default
+ $(MAKE) $(PKG_JOBS) -C $(HOST_BUILD_DIR)/$(MAKE_PATH) \
+ $(1)
+endef
+
+define Build/Install/Default
+ INSTALL_ROOT="$(PKG_INSTALL_DIR_ROOT)" \
+ $(MAKE) -C $(PKG_BUILD_DIR)/$(MAKE_PATH) \
+ $(1) install
+endef
+
+define Host/Install/Default
+ INSTALL_ROOT="$(HOST_INSTALL_DIR_ROOT)" \
+ $(MAKE) -C $(HOST_BUILD_DIR)/$(MAKE_PATH) \
+ $(1) install
+endef
+
+define Build/Install/HostFiles
+ $(INSTALL_DIR) \
+ $(1)/host
+
+ $(CP) \
+ $(PKG_INSTALL_DIR)/host/* \
+ $(1)/host/
+endef
+
+define Build/Install/Headers
+ $(INSTALL_DIR) \
+ $(1)/$(QT_INSTALL_HEADERS)
+
+ $(CP) \
+ $(PKG_INSTALL_DIR)/$(QT_INSTALL_HEADERS)/* \
+ $(1)/$(QT_INSTALL_HEADERS)/
+endef
+
+define Build/Install/Libs
+ $(INSTALL_DIR) \
+ $(1)/$(QT_INSTALL_LIBS)
+
+ $(CP) \
+ $(PKG_INSTALL_DIR)/$(QT_INSTALL_LIBS)/$(2).so* \
+ $(1)/$(QT_INSTALL_LIBS)/
+endef
+
+define Build/Install/Translations
+ $(INSTALL_DIR) \
+ $(1)/$(QT_INSTALL_TRANSLATIONS)
+
+ $(CP) \
+ $(PKG_INSTALL_DIR)/$(QT_INSTALL_TRANSLATIONS)/$(2).qm \
+ $(1)/$(QT_INSTALL_TRANSLATIONS)/
+endef
+
+define Build/Install/Plugins
+ $(INSTALL_DIR) \
+ $(1)/$(QT_INSTALL_PLUGINS)/$(2)
+
+ $(CP) \
+ $(PKG_INSTALL_DIR)/$(QT_INSTALL_PLUGINS)/$(2)/$(3).so* \
+ $(1)/$(QT_INSTALL_PLUGINS)/$(2)/
+endef
+
+define Build/Install/Examples
+ $(INSTALL_DIR) \
+ $(1)/$(QT_INSTALL_EXAMPLES)
+
+ $(CP) \
+ $(PKG_INSTALL_DIR)/$(QT_INSTALL_EXAMPLES)/* \
+ $(1)/$(QT_INSTALL_EXAMPLES)/
+
+ $(FIND) $(1)/$(QT_INSTALL_EXAMPLES) \
+ -type f \( -name '*.cpp' -o -name '*.h' -o -name '*.pro' -o -name '*.pri' \) | \
+ $(XARGS) $(RM) -vf
+endef
--- /dev/null
+From e9097ab24832e42df6e16093e5c3b775dbcf2367 Mon Sep 17 00:00:00 2001
+Date: Fri, 5 Jun 2020 12:46:36 +0000
+Subject: [PATCH] GNU iconv() - at least in OpenWrt - behaves like POSIX
+ iconv()
+
+GNU iconv() had the terrible idea of introducing a build variant for its
+iconv() function, where the second argument can either be a `char **` or
+a `const char **` depending on a macro set under whatever certain
+circumstances at build time, resulting in different function signatures.
+
+Despite those two possible variants, the project only mentions the
+non-const one in their manual page.
+
+Since this didn't seem to be enough trouble for its users, they seem to
+have changed the default variant from `const char **` to `char **` at
+some point, while leaving the manual page as it is, now stating the
+non-default, hence in most cases probably wrong, signature.
+
+Qt assumes GNU iconv() has the nowadays non-default function signature
+(`const char **`), and distiguishes that way from the POSIX one.
+Another issue with Qt and GNU iconv(): While we can easily make the test
+work for GNU iconv with its default iconv()-signature, Qt assumes that if
+the GNU-iconv succeeds, the present version of iconv is POSIX-
+incompatible - which however isn't true in our case.
+
+However we also can't just use the POSIX iconv test, as the Qt test for
+POSIX iconv fails on GNU iconv for another reason: GNU iconv requires
+explicit linker flags (`-liconv`), which the Qt test for POSIX iconv
+however implicitly drops when the target system is linux.
+
+This was extensively discussed in a Qt bug report:
+https://bugreports.qt.io/projects/QTBUG/issues/QTBUG-84708
+
+The only good thing seems to be that Qt's configure script is also buggy
+and counter-intuitive, resulting in 'gnu' not being accepted as iconv
+variant when using the default single-dash format for specifying
+configure options:
+https://bugreports.qt.io/projects/QTBUG/issues/QTBUG-84687
+So most likely there's nobody using Qt with GNU iconv anyway.
+
+This patch is what I came up with being the smallest changeset.
+May it work.
+---
+ src/corelib/codecs/qiconvcodec.cpp | 5 -----
+ src/corelib/configure.json | 2 +-
+ 2 files changed, 1 insertion(+), 6 deletions(-)
+
+diff --git a/src/corelib/codecs/qiconvcodec.cpp b/src/corelib/codecs/qiconvcodec.cpp
+index 9c397279..8d43e6c8 100644
+--- a/src/corelib/codecs/qiconvcodec.cpp
++++ b/src/corelib/codecs/qiconvcodec.cpp
+@@ -180,12 +180,7 @@ QString QIconvCodec::convertToUnicode(const char* chars, int len, ConverterState
+ IconvState *state = *pstate;
+ size_t inBytesLeft = len;
+ // best case assumption, each byte is converted into one UTF-16 character, plus 2 bytes for the BOM
+-#if !QT_CONFIG(posix_libiconv)
+- // GNU doesn't disagree with POSIX :/
+- const char *inBytes = chars;
+-#else
+ char *inBytes = const_cast<char *>(chars);
+-#endif
+
+ QByteArray in;
+ if (remainingCount) {
+diff --git a/src/corelib/configure.json b/src/corelib/configure.json
+index c5e04232..32237bc4 100644
+--- a/src/corelib/configure.json
++++ b/src/corelib/configure.json
+@@ -72,7 +72,7 @@
+ "test": {
+ "main": [
+ "iconv_t x = iconv_open(\"\", \"\");",
+- "const char *inp;",
++ "char *inp;",
+ "char *outp;",
+ "size_t inbytes, outbytes;",
+ "iconv(x, &inp, &inbytes, &outp, &outbytes);",
+--
+2.20.1
+
--- /dev/null
+#
+# Copyright (C) 2020 OpenWrt
+# This is free software, licensed under the GNU General Public License v2.
+# See /LICENSE for more information.
+#
+
+include $(TOPDIR)/rules.mk
+
+PKG_NAME:=qt5graphicaleffects
+PKG_VERSION:=5.15.0
+PKG_RELEASE:=1
+PKG_HASH:=0d2ea4bc73b9df13a4b739dcbc1e3c7b298c7e682f7f9252b232e3bde7b63eda
+
+PKG_SYS_NAME:=qtgraphicaleffects-everywhere-src-$(PKG_VERSION)
+PKG_SOURCE:=$(PKG_SYS_NAME).tar.xz
+PKG_SOURCE_URL:=https://download.qt.io/official_releases/qt/$(basename $(PKG_VERSION))/$(PKG_VERSION)/submodules
+
+PKG_BUILD_DIR=$(BUILD_DIR)/$(PKG_SYS_NAME)
+PKG_BUILD_PARALLEL:=1
+PKG_BUILD_DEPENDS:=qt5base
+PKG_INSTALL:=1
+
+include $(INCLUDE_DIR)/package.mk
+include $(INCLUDE_DIR)/nls.mk
+-include $(STAGING_DIR)/host/mk/qmake.mk
+
+define Package/qt5graphicaleffects
+ SECTION:=video-frameworks
+ CATEGORY:=Video
+ SUBMENU:=Frameworks and Toolkits
+ TITLE:=qt5graphicaleffects
+ URL:=http://qt.io
+ DEPENDS:=+qt5quick2-quick @BROKEN # depends on GL support, but currently we only support software rendering
+endef
+
+define Build/InstallDev
+endef
+
+define Package/qt5graphicaleffects/install
+ $(INSTALL_DIR) \
+ $(1)/usr/lib/qt5/qml/QtGraphicalEffects
+
+ $(CP) \
+ $(PKG_INSTALL_DIR)/usr/lib/qt5/qml/QtGraphicalEffects/* \
+ $(1)/usr/lib/qt5/qml/QtGraphicalEffects/
+endef
+
+$(eval $(call BuildPackage,qt5graphicaleffects))
--- /dev/null
+#
+# Copyright (C) 2020 OpenWrt.org
+# This is free software, licensed under the GNU General Public License v2.
+# See /LICENSE for more information.
+#
+
+### This package shares the same code as `qt5quick2-GLstubs`.
+### However unfortunately we can't handle both packages within
+### one Makefile, as it would create a circular dependency:
+### `qt5base` depends on `qt5quick2-GLstubs`, but
+### `qt5quick2-2d-sw-renderer` depends on `qt5quick2` which
+### depends on `qt5base`.
+### `qt5quick2-2d-sw-renderer` and `qt5quick2-GLstubs` sharing
+### the same Makefile results in `qt5base` depending on `qt5quick2`
+### which is meh.
+
+include $(TOPDIR)/rules.mk
+
+PKG_NAME:=qt5quick2-2d-sw-renderer-GLstubs
+PKG_VERSION:=5.7.0
+PKG_RELEASE:=1
+PKG_MD5SUM:=41bfcb5ab6d7a820687c4208beeb7057
+
+PKG_SYS_NAME:=qtdeclarative-render2d-opensource-src-$(PKG_VERSION)
+PKG_SOURCE:=$(PKG_SYS_NAME).tar.xz
+PKG_SOURCE_URL:=https://download.qt.io/archive/qt/$(basename $(PKG_VERSION))/$(PKG_VERSION)/submodules
+
+PKG_BUILD_DIR=$(BUILD_DIR)/qtdeclarative-render2d-opensource-src-$(PKG_VERSION)-GLstubs/$(PKG_SYS_NAME)
+PKG_BUILD_PARALLEL:=1
+
+include $(INCLUDE_DIR)/package.mk
+
+define Package/qt5quick2-2d-sw-renderer-GLstubs
+ SECTION:=video-frameworks
+ CATEGORY:=Video
+ SUBMENU:=Frameworks and Toolkits
+ TITLE:=Dummy GL stubs
+ URL:=http://qt.io
+endef
+
+TARGET_CFLAGS += \
+ -I../3rdparty/include
+
+define Build/Configure
+endef
+
+define Build/Compile
+ ( cd $(PKG_BUILD_DIR)/tools/opengldummy/src ; \
+ $(TARGET_CC) $(TARGET_CFLAGS) -fPIC -shared -o libEGL.so egl.cpp && \
+ $(TARGET_CC) $(TARGET_CFLAGS) -fPIC -shared -o libGLESv2.so gles2.cpp \
+ )
+endef
+
+define Build/InstallDev
+ $(INSTALL_DIR) \
+ $(1)/usr/include \
+ $(1)/usr/lib
+
+ $(CP) \
+ $(PKG_BUILD_DIR)/tools/opengldummy/3rdparty/include/* \
+ $(1)/usr/include/
+
+ $(INSTALL_DATA) \
+ $(PKG_BUILD_DIR)/tools/opengldummy/src/lib*.so* \
+ $(1)/usr/lib/
+endef
+
+
+define Package/qt5quick2-2d-sw-renderer-GLstubs/install
+ $(INSTALL_DIR) \
+ $(1)/usr/lib
+
+ $(INSTALL_DATA) \
+ $(PKG_BUILD_DIR)/tools/opengldummy/src/lib*.so* \
+ $(1)/usr/lib/
+endef
+
+$(eval $(call BuildPackage,qt5quick2-2d-sw-renderer-GLstubs))
--- /dev/null
+#
+# Copyright (C) 2020 OpenWrt
+# This is free software, licensed under the GNU General Public License v2.
+# See /LICENSE for more information.
+#
+
+include $(TOPDIR)/rules.mk
+
+PKG_NAME:=qt5quick2-controls2
+PKG_VERSION:=5.15.0
+PKG_RELEASE:=1
+PKG_HASH:=839abda9b58cd8656b2e5f46afbb484e63df466481ace43318c4c2022684648f
+
+PKG_SYS_NAME:=qtquickcontrols2-everywhere-src-$(PKG_VERSION)
+PKG_SOURCE:=$(PKG_SYS_NAME).tar.xz
+PKG_SOURCE_URL:=https://download.qt.io/official_releases/qt/$(basename $(PKG_VERSION))/$(PKG_VERSION)/submodules
+
+PKG_BUILD_DIR=$(BUILD_DIR)/$(PKG_SYS_NAME)
+PKG_BUILD_PARALLEL:=1
+PKG_INSTALL:=1
+
+include $(INCLUDE_DIR)/package.mk
+include $(INCLUDE_DIR)/nls.mk
+-include $(STAGING_DIR)/host/mk/qmake.mk
+
+define Package/qt5quick2-controls2
+ SECTION:=video-frameworks
+ CATEGORY:=Video
+ SUBMENU:=Frameworks and Toolkits
+ TITLE:=qt5quick2-controls2
+ URL:=http://qt.io
+ DEPENDS:=+qt5quick2-quick
+endef
+
+define Build/InstallDev
+ $(call Build/Install/HostFiles,$(1))
+ $(call Build/Install/Headers,$(1))
+ $(call Build/Install/Libs,$(1),*)
+endef
+
+define Package/qt5quick2-controls2/install
+ $(call Build/Install/Libs,$(1),libQt5QuickTemplates2)
+ $(call Build/Install/Libs,$(1),libQt5QuickControls2)
+
+ $(INSTALL_DIR) \
+ $(1)/usr/lib/qt5/qml/QtQuick
+
+ $(CP) \
+ $(PKG_INSTALL_DIR)/usr/lib/qt5/qml/QtQuick/* \
+ $(1)/usr/lib/qt5/qml/QtQuick/
+endef
+
+define Package/qt5quick2-templates2/install
+ $(call Build/Install/Libs,$(1),libQt5QuickTemplates2)
+endef
+
+$(eval $(call BuildPackage,qt5quick2-controls2))
--- /dev/null
+#
+# Copyright (C) 2020 OpenWrt
+# This is free software, licensed under the GNU General Public License v2.
+# See /LICENSE for more information.
+#
+
+include $(TOPDIR)/rules.mk
+
+PKG_NAME:=qt5quick2
+PKG_VERSION:=5.15.0
+PKG_RELEASE:=1
+PKG_HASH:=9c3c93fb7d340b2f7d738d12408c047318c78973cb45bfc5ff6b3a57e1fef699
+
+PKG_SYS_NAME:=qtdeclarative-everywhere-src-$(PKG_VERSION)
+PKG_SOURCE:=$(PKG_SYS_NAME).tar.xz
+PKG_SOURCE_URL:=https://download.qt.io/official_releases/qt/$(basename $(PKG_VERSION))/$(PKG_VERSION)/submodules
+
+PKG_BUILD_DIR=$(BUILD_DIR)/$(PKG_SYS_NAME)
+PKG_BUILD_PARALLEL:=1
+PKG_BUILD_DEPENDS:=qt5base
+PKG_INSTALL:=1
+
+include $(INCLUDE_DIR)/package.mk
+include $(INCLUDE_DIR)/nls.mk
+-include $(STAGING_DIR)/host/mk/qmake.mk
+
+define Package/qt5quick2/Default
+ SECTION:=video-frameworks
+ CATEGORY:=Video
+ SUBMENU:=Frameworks and Toolkits
+ TITLE:=Qt5Quick2
+# DEPENDS+=qt5quick2
+ URL:=http://qt.io
+endef
+
+# define Package/qt5quick2
+# $(call Package/qt5quick2/Default)
+# DEPENDS:=
+# MENU:=1
+# endef
+
+define Package/qt5quick2-qml
+ $(call Package/qt5quick2/Default)
+ TITLE+=Qml
+ DEPENDS+=+qt5base-network
+endef
+
+define Package/qt5quick2-qml-models
+ $(call Package/qt5quick2/Default)
+ TITLE+=QmlModels
+ DEPENDS+=+qt5quick2-qml
+endef
+
+define Package/qt5quick2-qml-worker-script
+ $(call Package/qt5quick2/Default)
+ TITLE+=QmlWorkerScript
+ DEPENDS+=+qt5quick2-qml
+endef
+
+define Package/qt5quick2-quick
+ $(call Package/qt5quick2/Default)
+ TITLE+=Quick
+ DEPENDS+=+qt5base-gui +qt5quick2-qml-models
+endef
+
+define Package/qt5quick2-quick-test
+ $(call Package/qt5quick2/Default)
+ TITLE+=QuickTest
+ DEPENDS+=+qt5quick2-quick +qt5base-widgets +qt5base-test
+endef
+
+#define Package/qt5quick2-particles
+# $(call Package/qt5quick2/Default)
+# TITLE+=particles
+# DEPENDS+=+qt5quick2-quick
+#endef
+
+define Package/qt5quick2-quick-widgets
+ $(call Package/qt5quick2/Default)
+ TITLE+=QuickWidgets
+ DEPENDS+=+qt5quick2-quick +qt5base-widgets
+endef
+
+define Package/qt5quick2-quick-shapes
+ $(call Package/qt5quick2/Default)
+ TITLE+=QuickShapes
+ DEPENDS+=+qt5quick2-quick
+endef
+
+###
+
+define Package/qt5quick2-qml-module-qtqml-models2
+ $(call Package/qt5quick2/Default)
+ TITLE+=QML QtQml models
+ DEPENDS+=+qt5quick2-qml-models
+endef
+
+define Package/qt5quick2-qml-module-qtqml-statemachine
+ $(call Package/qt5quick2/Default)
+ TITLE+=QML StateMachine
+ DEPENDS:=+qt5quick2-qml
+endef
+
+define Package/qt5quick2-qml-module-qtqml-workerscript2
+ $(call Package/qt5quick2/Default)
+ TITLE+=QML WorkerScript
+ DEPENDS:=+qt5quick2-qml-worker-script
+endef
+
+###
+
+define Package/qt5quick2-qml-module-qtlabs-animation
+ $(call Package/qt5quick2/Default)
+ TITLE+=QML QtLabs animation
+ DEPENDS:=+qt5quick2-qml +qt5quick2-quick
+endef
+
+define Package/qt5quick2-qml-module-qtlabs-folderlistmodel
+ $(call Package/qt5quick2/Default)
+ TITLE+=QML QtLabs folderlistmodel
+ DEPENDS:=+qt5quick2-qml
+endef
+
+define Package/qt5quick2-qml-module-qtlabs-models
+ $(call Package/qt5quick2/Default)
+ TITLE+=QML QtLabs qmlmodels
+ DEPENDS+=+qt5quick2-qml-models
+endef
+
+define Package/qt5quick2-qml-module-qtlabs-settings
+ $(call Package/qt5quick2/Default)
+ TITLE+=QML QtLabs settings
+ DEPENDS:=+qt5quick2-qml
+endef
+
+define Package/qt5quick2-qml-module-qtlabs-sharedimage
+ $(call Package/qt5quick2/Default)
+ TITLE+=QML QtLabs sharedimage
+ DEPENDS:=+qt5quick2-quick
+endef
+
+define Package/qt5quick2-qml-module-qtlabs-wavefrontmesh
+ $(call Package/qt5quick2/Default)
+ TITLE+=QML QtLabs wavefrontmesh
+ DEPENDS:=+qt5quick2-quick
+endef
+
+
+define Package/qt5quick2-qml-module-qttest
+ $(call Package/qt5quick2/Default)
+ TITLE+=QML QtTest
+ DEPENDS+=+qt5quick2-quick +qt5quick2-quick-test
+endef
+
+define Package/qt5quick2-qml-module-qtquick-layouts
+ $(call Package/qt5quick2/Default)
+ TITLE+=QML QtQuick Layouts
+ DEPENDS+=+qt5quick2-quick
+endef
+
+#define Package/qt5quick2-qml-module-qtquick-particles2
+# $(call Package/qt5quick2/Default)
+# TITLE+=QML particles
+# DEPENDS+=+qt5quick2-particles
+#endef
+
+define Package/qt5quick2-qml-module-qtquick-localstorage
+ $(call Package/qt5quick2/Default)
+ TITLE+=QML QtQuick LocalStorage
+ DEPENDS+=+qt5quick2-qml +qt5base-sql
+endef
+
+define Package/qt5quick2-qml-module-qtquick-shapes
+ $(call Package/qt5quick2/Default)
+ TITLE+=QML QtQuick Shapes
+ DEPENDS+=+qt5quick2-quick-shapes
+endef
+
+define Package/qt5quick2-qml-module-qtquick-window2
+ $(call Package/qt5quick2/Default)
+ TITLE+=QML QtQuick Window.2
+ DEPENDS+=+qt5quick2-quick
+endef
+
+define Package/qt5quick2-qml-module-qtquick2
+ $(call Package/qt5quick2/Default)
+ TITLE+=QML QtQuick.2
+ DEPENDS+=+qt5quick2-quick +qt5quick2-qml-worker-script
+endef
+
+####
+
+define Build/InstallDev
+ $(call Build/Install/HostFiles,$(1))
+ $(call Build/Install/Headers,$(1))
+ $(call Build/Install/Libs,$(1),*)
+endef
+
+define Build/Install/QMLplugin
+ $(INSTALL_DIR) \
+ $(1)/$(QT_INSTALL_QML)/$(2)
+
+ $(CP) \
+ $(PKG_INSTALL_DIR)/$(QT_INSTALL_QML)/$(2)/{plugins.qmltypes,qmldir,$(3).{so,qml,js}*} \
+ $(1)/$(QT_INSTALL_QML)/$(2)/ \
+ || true
+endef
+
+###
+
+define Package/qt5quick2-qml/install
+ $(call Build/Install/Libs,$(1),libQt5Qml)
+
+ $(INSTALL_DIR) \
+ $(1)/$(QT_INSTALL_QML)
+
+ $(CP) \
+ $(PKG_INSTALL_DIR)/$(QT_INSTALL_QML)/builtins.qmltypes \
+ $(1)/$(QT_INSTALL_QML)/
+endef
+
+define Package/qt5quick2-qml-models/install
+ $(call Build/Install/Libs,$(1),libQt5QmlModels)
+endef
+
+define Package/qt5quick2-qml-worker-script/install
+ $(call Build/Install/Libs,$(1),libQt5QmlWorkerScript)
+endef
+
+define Package/qt5quick2-quick/install
+ $(call Build/Install/Libs,$(1),libQt5Quick)
+endef
+
+define Package/qt5quick2-quick-test/install
+ $(call Build/Install/Libs,$(1),libQt5QuickTest)
+endef
+
+#define Package/qt5quick2-particles/install
+# $(call Build/Install/Libs,$(1),libQt5QuickParticles)
+#endef
+
+define Package/qt5quick2-quick-widgets/install
+ $(call Build/Install/Libs,$(1),libQt5QuickWidgets)
+endef
+
+define Package/qt5quick2-quick-shapes/install
+ $(call Build/Install/Libs,$(1),libQt5QuickShapes)
+endef
+
+define Package/qt5quick2-qml-module-qtqml-models2/install
+ $(call Build/Install/QMLplugin,$(1),QtQml/Models.2,*)
+endef
+
+define Package/qt5quick2-qml-module-qtqml-statemachine/install
+ $(call Build/Install/QMLplugin,$(1),QtQml/StateMachine,*)
+endef
+
+define Package/qt5quick2-qml-module-qtqml-workerscript2/install
+ $(call Build/Install/QMLplugin,$(1),QtQml/WorkerScript.2,*)
+endef
+
+define Package/qt5quick2-qml-module-qtlabs-animation/install
+ $(call Build/Install/QMLplugin,$(1),Qt/labs/animation/,*)
+endef
+
+define Package/qt5quick2-qml-module-qtlabs-folderlistmodel/install
+ $(call Build/Install/QMLplugin,$(1),Qt/labs/folderlistmodel,*)
+endef
+
+define Package/qt5quick2-qml-module-qtlabs-models/install
+ $(call Build/Install/QMLplugin,$(1),Qt/labs/qmlmodels,*)
+endef
+
+define Package/qt5quick2-qml-module-qtlabs-settings/install
+ $(call Build/Install/QMLplugin,$(1),Qt/labs/settings/,*)
+endef
+
+define Package/qt5quick2-qml-module-qtlabs-sharedimage/install
+ $(call Build/Install/QMLplugin,$(1),Qt/labs/sharedimage/,*)
+endef
+
+define Package/qt5quick2-qml-module-qtlabs-wavefrontmesh/install
+ $(call Build/Install/QMLplugin,$(1),Qt/labs/wavefrontmesh/,*)
+endef
+
+define Package/qt5quick2-qml-module-qttest/install
+ $(call Build/Install/QMLplugin,$(1),QtTest,*)
+ $(INSTALL_DIR) $(1)/usr/bin
+ $(CP) $(PKG_INSTALL_DIR)/usr/bin/qmltestrunner $(1)/usr/bin/
+endef
+
+define Package/qt5quick2-qml-module-qtquick-layouts/install
+ $(call Build/Install/QMLplugin,$(1),QtQuick/Layouts,*)
+endef
+
+#define Package/qt5quick2-qml-module-qtquick-particles2/install
+# $(call Build/Install/QMLplugin,$(1),QtQuick/Particles.2,*)
+#endef
+
+define Package/qt5quick2-qml-module-qtquick-localstorage/install
+ $(call Build/Install/QMLplugin,$(1),QtQuick/LocalStorage,*)
+endef
+
+define Package/qt5quick2-qml-module-qtquick-shapes/install
+ $(call Build/Install/QMLplugin,$(1),QtQuick/Shapes,*)
+endef
+
+define Package/qt5quick2-qml-module-qtquick-window2/install
+ $(call Build/Install/QMLplugin,$(1),QtQuick/Window.2,*)
+endef
+
+define Package/qt5quick2-qml-module-qtquick2/install
+ $(call Build/Install/QMLplugin,$(1),QtQuick.2,*)
+endef
+
+
+#$(eval $(call BuildPackage,qt5quick2))
+$(eval $(call BuildPackage,qt5quick2-qml))
+$(eval $(call BuildPackage,qt5quick2-qml-models))
+$(eval $(call BuildPackage,qt5quick2-qml-worker-script))
+$(eval $(call BuildPackage,qt5quick2-quick))
+$(eval $(call BuildPackage,qt5quick2-quick-test))
+#$(eval $(call BuildPackage,qt5quick2-particles))
+$(eval $(call BuildPackage,qt5quick2-quick-widgets))
+$(eval $(call BuildPackage,qt5quick2-quick-shapes))
+$(eval $(call BuildPackage,qt5quick2-qml-module-qtqml-models2))
+$(eval $(call BuildPackage,qt5quick2-qml-module-qtqml-statemachine))
+$(eval $(call BuildPackage,qt5quick2-qml-module-qtqml-workerscript2))
+$(eval $(call BuildPackage,qt5quick2-qml-module-qtlabs-models))
+$(eval $(call BuildPackage,qt5quick2-qml-module-qtlabs-folderlistmodel))
+$(eval $(call BuildPackage,qt5quick2-qml-module-qtlabs-settings))
+$(eval $(call BuildPackage,qt5quick2-qml-module-qtlabs-animation))
+$(eval $(call BuildPackage,qt5quick2-qml-module-qtlabs-sharedimage))
+$(eval $(call BuildPackage,qt5quick2-qml-module-qtlabs-wavefrontmesh))
+$(eval $(call BuildPackage,qt5quick2-qml-module-qtquick2))
+$(eval $(call BuildPackage,qt5quick2-qml-module-qtquick-layouts))
+#$(eval $(call BuildPackage,qt5quick2-qml-module-qtquick-particles2))
+$(eval $(call BuildPackage,qt5quick2-qml-module-qtquick-localstorage))
+$(eval $(call BuildPackage,qt5quick2-qml-module-qtquick-shapes))
+$(eval $(call BuildPackage,qt5quick2-qml-module-qtquick-window2))
+$(eval $(call BuildPackage,qt5quick2-qml-module-qttest))
--- /dev/null
+#
+# Copyright (C) 2020 OpenWrt
+# This is free software, licensed under the GNU General Public License v2.
+# See /LICENSE for more information.
+#
+
+include $(TOPDIR)/rules.mk
+
+PKG_NAME:=qt5script
+PKG_VERSION:=5.15.0
+PKG_RELEASE:=1
+PKG_HASH:=02dc21b309621876a89671be27cea86a58e74a96aa28da65fe1b37a3aad29373
+
+PKG_SYS_NAME:=qtscript-everywhere-src-$(PKG_VERSION)
+PKG_SOURCE:=$(PKG_SYS_NAME).tar.xz
+PKG_SOURCE_URL:=https://download.qt.io/official_releases/qt/$(basename $(PKG_VERSION))/$(PKG_VERSION)/submodules
+
+PKG_BUILD_DIR=$(BUILD_DIR)/$(PKG_SYS_NAME)
+PKG_BUILD_PARALLEL:=1
+PKG_BUILD_DEPENDS:=qt5base
+PKG_INSTALL:=1
+
+include $(INCLUDE_DIR)/package.mk
+include $(INCLUDE_DIR)/nls.mk
+-include $(STAGING_DIR)/host/mk/qmake.mk
+
+define Package/qt5script/Default
+ SECTION:=video-frameworks
+ CATEGORY:=Video
+ SUBMENU:=Frameworks and Toolkits
+ TITLE:=Qt5script
+# DEPENDS:=qt5script +qt5base-core
+ DEPENDS:=+qt5base-core
+ URL:=http://qt.io
+endef
+
+# define Package/qt5script
+# $(call Package/qt5script/Default)
+# DEPENDS:=+qt5base
+# MENU:=1
+# endef
+
+define Package/qt5script-script
+ $(call Package/qt5script/Default)
+ TITLE+=script
+endef
+
+define Package/qt5script-scriptTools
+ $(call Package/qt5script/Default)
+ TITLE+=scriptTools
+ DEPENDS+=+qt5base-gui +qt5base-widgets +qt5script-script
+endef
+
+define Package/qt5script-examples
+ $(call Package/qt5script/Default)
+ TITLE+=examples
+ DEPENDS+=+qt5script-scriptTools @BROKEN
+endef
+
+define Build/InstallDev
+ $(call Build/Install/HostFiles,$(1))
+ $(call Build/Install/Headers,$(1))
+ $(call Build/Install/Libs,$(1),*)
+endef
+
+define Package/qt5script-script/install
+ $(call Build/Install/Libs,$(1),libQt5Script)
+endef
+
+define Package/qt5script-scriptTools/install
+ $(call Build/Install/Libs,$(1),libQt5ScriptTools)
+endef
+
+define Package/qt5script-examples/install
+ $(call Build/Install/Examples,$(1))
+endef
+
+#$(eval $(call BuildPackage,qt5script))
+$(eval $(call BuildPackage,qt5script-script))
+$(eval $(call BuildPackage,qt5script-scriptTools))
+$(eval $(call BuildPackage,qt5script-examples))
--- /dev/null
+#
+# Copyright (C) 2020 OpenWrt
+# This is free software, licensed under the GNU General Public License v2.
+# See /LICENSE for more information.
+#
+
+include $(TOPDIR)/rules.mk
+
+PKG_NAME:=qt5tools
+PKG_VERSION:=5.15.0
+PKG_RELEASE:=1
+PKG_HASH:=ddbcb49aab3a2e3672582c6e2e7bec0058feff790f67472343c79e2895e0e437
+
+PKG_SYS_NAME:=qttools-everywhere-src-$(PKG_VERSION)
+PKG_SOURCE:=$(PKG_SYS_NAME).tar.xz
+PKG_SOURCE_URL:=https://download.qt.io/official_releases/qt/$(basename $(PKG_VERSION))/$(PKG_VERSION)/submodules
+
+PKG_HOST_ONLY:=1
+PKG_BUILD_DIR=$(BUILD_DIR)/$(PKG_SYS_NAME)
+HOST_BUILD_DIR=$(BUILD_DIR)/host/$(PKG_SYS_NAME)
+PKG_BUILD_PARALLEL:=1
+HOST_BUILD_PARALLEL:=1
+PKG_INSTALL:=1
+HOST_BUILD_DEPENDS:=qt5base/host
+
+include $(INCLUDE_DIR)/package.mk
+include $(INCLUDE_DIR)/host-build.mk
+include $(INCLUDE_DIR)/nls.mk
+-include $(STAGING_DIR)/host/mk/qmake.mk
+
+define Package/qt5tools
+ SECTION:=video-frameworks
+ CATEGORY:=Video
+ SUBMENU:=Frameworks and Toolkits
+ TITLE:=qt5tools
+ URL:=http://qt.io
+ DEPENDS:=+qt5base-core
+ BUILDONLY:=1
+endef
+
+define Host/Install
+ $(call Host/Install/Default)
+
+ $(INSTALL_DIR) \
+ $(STAGING_DIR_HOST)/lib \
+ $(STAGING_DIR_HOST)/bin
+
+ $(CP) \
+ $(HOST_INSTALL_DIR)/lib/* \
+ $(STAGING_DIR_HOST)/lib/
+
+ $(CP) \
+ $(HOST_INSTALL_DIR)/bin/* \
+ $(STAGING_DIR_HOST)/bin/
+
+ ln -sf $(STAGING_DIR_HOST)/bin/lrelease \
+ $(STAGING_DIR)/host/bin/
+ ln -sf $(STAGING_DIR_HOST)/bin/lupdate \
+ $(STAGING_DIR)/host/bin/
+
+endef
+
+$(eval $(call BuildPackage,qt5tools))
+$(eval $(call HostBuild))
--- /dev/null
+diff --git a/src/src.pro b/src/src.pro
+index 5c256ea..3c4012a 100644
+--- a/src/src.pro
++++ b/src/src.pro
+@@ -17,7 +17,8 @@ qtHaveModule(widgets) {
+ }
+
+ SUBDIRS += linguist \
+- qtattributionsscanner
++ qtattributionsscanner \
++ kmap2qmap
+
+ qtConfig(library) {
+ !android|android_app: SUBDIRS += qtplugininfo
--- /dev/null
+diff -ruN qttools-opensource-src-5.8.0.orig/src/kmap2qmap/main.cpp qttools-opensource-src-5.8.0/src/kmap2qmap/main.cpp
+--- qttools-opensource-src-5.8.0.orig/src/kmap2qmap/main.cpp 2017-01-02 07:50:13.000000000 +0100
++++ qttools-opensource-src-5.8.0/src/kmap2qmap/main.cpp 2017-02-21 03:31:59.598892309 +0100
+@@ -270,6 +270,8 @@
+ { "Pause", Qt::Key_Pause },
+ { "VolumeDown", Qt::Key_VolumeDown },
+ { "VolumeUp", Qt::Key_VolumeUp },
++ { "VolumeMute", Qt::Key_VolumeMute },
++ { "MicMute", Qt::Key_MicMute },
+ { "MediaTogglePlayPause", Qt::Key_MediaTogglePlayPause },
+ { "MediaPlay", Qt::Key_MediaPlay },
+ { "MediaPause", Qt::Key_MediaPause },
+@@ -286,6 +288,12 @@
+ { "ToggleCallHangup", Qt::Key_ToggleCallHangup },
+ { "VoiceDial" , Qt::Key_VoiceDial },
+ { "LastNumberRedial", Qt::Key_LastNumberRedial },
++ { "Phone", Qt::Key_Phone },
++ { "HomePage", Qt::Key_HomePage },
++ { "Menu", Qt::Key_Menu },
++ { "Back", Qt::Key_Back },
++ { "LaunchMail", Qt::Key_LaunchMail },
++ { "LaunchMedia", Qt::Key_LaunchMedia },
+
+ { "KP_0", Qt::Key_0 | Qt::KeypadModifier },
+ { "KP_1", Qt::Key_1 | Qt::KeypadModifier },
--- /dev/null
+#
+# Copyright (C) 2020 OpenWrt
+# This is free software, licensed under the GNU General Public License v2.
+# See /LICENSE for more information.
+#
+
+include $(TOPDIR)/rules.mk
+
+PKG_NAME:=qt5translations
+PKG_VERSION:=5.15.0
+PKG_RELEASE:=1
+PKG_HASH:=45c43268d9df50784d4d8ca345fce9288a1055fd074ac0ef508097f7aeba22fe
+
+PKG_SYS_NAME:=qttranslations-everywhere-src-$(PKG_VERSION)
+PKG_SOURCE:=$(PKG_SYS_NAME).tar.xz
+PKG_SOURCE_URL:=https://download.qt.io/official_releases/qt/$(basename $(PKG_VERSION))/$(PKG_VERSION)/submodules
+
+PKG_BUILD_DIR=$(BUILD_DIR)/$(PKG_SYS_NAME)
+PKG_BUILD_PARALLEL:=1
+PKG_INSTALL:=1
+PKG_BUILD_DEPENDS:=qt5tools/host
+
+include $(INCLUDE_DIR)/package.mk
+include $(INCLUDE_DIR)/nls.mk
+-include $(STAGING_DIR)/host/mk/qmake.mk
+
+define Package/qt5translations
+ SECTION:=video-frameworks
+ CATEGORY:=Video
+ SUBMENU:=Frameworks and Toolkits
+ TITLE:=qt5translations
+ URL:=http://qt.io
+endef
+
+define Package/qt5translations/install
+ $(call Build/Install/Translations,$(1),*)
+endef
+
+$(eval $(call BuildPackage,qt5translations))
+++ /dev/null
-#
-# Copyright (C) 2020 OpenWrt.org
-# This is free software, licensed under the GNU General Public License v2.
-# See /LICENSE for more information.
-#
-
-# TODO / known bugs:
-# - plugins don't work when sstrip is used for stripping
-# - no X11/wayland/xcb/kms support so far - primary target is linuxfb
-
-include $(TOPDIR)/rules.mk
-
-PKG_NAME:=qt5base
-PKG_VERSION:=5.15.0
-PKG_RELEASE:=1
-PKG_HASH:=9e7af10aece15fa9500369efde69cb220eee8ec3a6818afe01ce1e7d484824c5
-
-PKG_SYS_NAME:=qtbase-everywhere-src-$(PKG_VERSION)
-PKG_SOURCE:=$(PKG_SYS_NAME).tar.xz
-PKG_SOURCE_URL:=https://download.qt.io/official_releases/qt/$(basename $(PKG_VERSION))/$(PKG_VERSION)/submodules
-
-PKG_BUILD_DIR=$(BUILD_DIR)/$(PKG_SYS_NAME)
-HOST_BUILD_DIR=$(BUILD_DIR)/host/$(PKG_SYS_NAME)
-PKG_BUILD_PARALLEL:=1
-HOST_BUILD_PARALLEL:=1
-PKG_INSTALL:=1
-PKG_BUILD_FLAGS:=no-mips16
-# Yes, the host build depends on the target build. This is not a mistake!
-# The target build provides the (target specific) qmake.mk file which
-# is also used for host builds.
-# Host projects depend on qt5base/host which however don't build
-# if qt5base didn't install the qmake.mk file before.
-# Benefit of the target build providing qmake.mk instead of the host build
-# is that the host build really only needs to be built, if there're targets
-# which actually depend on it. At the time of this writing, only qt5tools
-# makes use of the host build.
-HOST_BUILD_DEPENDS:=qt5base
-
-include $(INCLUDE_DIR)/package.mk
-include $(INCLUDE_DIR)/host-build.mk
-include $(INCLUDE_DIR)/nls.mk
-include ./files/qmake.mk
-
-PKG_CONFIG_DEPENDS:= \
- CONFIG_PACKAGE_qt5base-plugin-imageformats-jpeg \
- CONFIG_PACKAGE_qt5base-network \
- CONFIG_PACKAGE_qt5base-gui \
- CONFIG_PACKAGE_qt5base-gl \
- CONFIG_PACKAGE_qt5base-widgets \
- CONFIG_PACKAGE_qt5base-examples \
- CONFIG_PACKAGE_qt5base-plugin-platforms-minimal \
- CONFIG_PACKAGE_qt5base-plugin-platforms-linuxfb \
- CONFIG_PACKAGE_qt5base-plugin-input-libinput \
-# CONFIG_PACKAGE_qt5base-plugin-imageformats-png \
-# CONFIG_PACKAGE_qt5base-plugin-platforms-eglfs \
-# CONFIG_PACKAGE_qt5base-plugin-platforms-minimalegl \
-
-# Do not use sstrip for QT5. When sstrip is used the QT5 plugin loading does
-# not work, because of QT''s internal elf parser, see
-# https://bugreports.qt.io/browse/QTBUG-52567
-# Use the code from the gcc package to use strip instaed.
-ifneq ($(CONFIG_USE_SSTRIP),)
- STRIP:=$(TARGET_CROSS)strip $(call qstrip,$(CONFIG_STRIP_ARGS))
- RSTRIP:= \
- export CROSS="$(TARGET_CROSS)" \
- $(if $(CONFIG_KERNEL_KALLSYMS),NO_RENAME=1) \
- $(if $(CONFIG_KERNEL_PROFILING),KEEP_SYMBOLS=1); \
- NM="$(TARGET_CROSS)nm" \
- STRIP="$(STRIP)" \
- STRIP_KMOD="$(SCRIPT_DIR)/strip-kmod.sh" \
- $(SCRIPT_DIR)/rstrip.sh
-endif
-
-define Package/qt5base/Default
- SECTION:=video-frameworks
- CATEGORY:=Video
- SUBMENU:=Frameworks and Toolkits
- TITLE:=Qt5base
- URL:=http://qt.io
-endef
-
-# define Package/qt5base
-# $(call Package/qt5base/Default)
-# DEPENDS:=
-# MENU:=1
-# endef
-
-define Package/qt5base-concurrent
- $(call Package/qt5base/Default)
- TITLE+=concurrent
- DEPENDS+=+qt5base-core
-endef
-
-define Package/qt5base-gl
- $(call Package/qt5base/Default)
- TITLE+=gl
- DEPENDS+=+qt5base-core +qt5base-gui +qt5base-widgets @BROKEN
-endef
-
-define Package/qt5base-core
- $(call Package/qt5base/Default)
- TITLE+=core
- DEPENDS+=+libpthread +zlib +libzstd +libpcre2-16 +libstdcpp +librt +libdouble-conversion $(ICONV_DEPENDS) +PACKAGE_icu:icu #FIXME: do not include ICONV_DEPENDS if ICU is selected (though, that's only an issue when using GNU iconv)
-endef
-
-define Package/qt5base-gui
- $(call Package/qt5base/Default)
- TITLE+=gui
- DEPENDS+=+qt5base-core +libpng +fontconfig +libfreetype
-endef
-
-define Package/qt5base-network
- $(call Package/qt5base/Default)
- TITLE+=network
- DEPENDS+=+qt5base-core +libopenssl
-endef
-
-# seems to be only present as static lib
-# define Package/qt5base-paltformSupport
-# $(call Package/qt5base/Default)
-# DEPENDS+=
-# endef
-
-define Package/qt5base-printSupport
- $(call Package/qt5base/Default)
- TITLE+=print support
- DEPENDS+=+qt5base-core +qt5base-gui +qt5base-widgets
-endef
-
-define Package/qt5base-sql
- $(call Package/qt5base/Default)
- TITLE+=sql
- DEPENDS+=+qt5base-core
-endef
-
-define Package/qt5base-test
- $(call Package/qt5base/Default)
- TITLE+=test
- DEPENDS+=+qt5base-core
-endef
-
-define Package/qt5base-widgets
- $(call Package/qt5base/Default)
- TITLE+=widgets
- DEPENDS+=+qt5base-core +qt5base-gui
-endef
-
-define Package/qt5base-xml
- $(call Package/qt5base/Default)
- TITLE+=xml
- DEPENDS+=+qt5base-core
-endef
-
-#### plugins
-
-####### bearer
-
-define Package/qt5base-plugin-bearer-generic
- $(call Package/qt5base/Default)
-TITLE+=bearer (plugin)
- DEPENDS+=+qt5base-core +qt5base-network
-endef
-
-####### generic / input
-
-define Package/qt5base-plugin-input-libinput
- $(call Package/qt5base/Default)
- TITLE+=libinput (plugin)
- DEPENDS+=+qt5base-core +qt5base-gui +libinput
-endef
-
-define Package/qt5base-plugin-input-evdevkeyboard
- $(call Package/qt5base/Default)
- TITLE+=evdev keyboard (plugin)
- DEPENDS+=+qt5base-core +qt5base-gui +libudev +PACKAGE_qt5base-plugin-input-libinput:libinput
-endef
-
-define Package/qt5base-plugin-input-evdevmouse
- $(call Package/qt5base/Default)
- TITLE+=evdev mouse (plugin)
- DEPENDS+=+qt5base-core +qt5base-gui +libudev +PACKAGE_qt5base-plugin-input-libinput:libinput
-endef
-
-define Package/qt5base-plugin-input-evdevtablet
- $(call Package/qt5base/Default)
- TITLE+=evdev tablet (plugin)
- DEPENDS+=+qt5base-core +qt5base-gui +libudev +PACKAGE_qt5base-plugin-input-libinput:libinput
-endef
-
-define Package/qt5base-plugin-input-evdevtouch
- $(call Package/qt5base/Default)
- TITLE+=evdev touch (plugin)
- DEPENDS+=+qt5base-core +qt5base-gui +libudev +PACKAGE_qt5base-plugin-input-libinput:libinput
-endef
-
-####### imageformats
-
-#define Package/qt5base-plugin-imageformats-gif
-# $(call Package/qt5base/Default)
-#TITLE+=imageformat gif (plugin)
-# DEPENDS+=+qt5base-core +qt5base-gui
-#endef
-
-define Package/qt5base-plugin-imageformats-ico
- $(call Package/qt5base/Default)
- TITLE+=imageformat ico (plugin)
- DEPENDS+=+qt5base-core +qt5base-gui
-endef
-
-define Package/qt5base-plugin-imageformats-jpeg
- $(call Package/qt5base/Default)
- TITLE+=imageformat jpeg (plugin)
- DEPENDS+=+qt5base-core +qt5base-gui +libjpeg
-endef
-
-#define Package/qt5base-plugin-imageformats-png
-# $(call Package/qt5base/Default)
-# TITLE+=imageformat png (plugin)
-# DEPENDS+=+qt5base-core +qt5base-gui +libpng
-#endef
-
-####### platforms
-
-#define Package/qt5base-plugin-platforms-eglfs
-# $(call Package/qt5base/Default)
-# TITLE+=platform eglfs (plugin)
-# DEPENDS+=+qt5base-core +qt5base-gui +libfreetype +fontconfig
-#endef
-
-#define Package/qt5base-plugin-platforms-minimalegl
-# $(call Package/qt5base/Default)
-# TITLE+=platform minimalegl (plugin)
-# DEPENDS+=+qt5base-core +qt5base-gui +libfreetype +fontconfig
-#endef
-
-define Package/qt5base-plugin-platforms-linuxfb
- $(call Package/qt5base/Default)
- TITLE+=platform linuxfb (plugin)
- DEPENDS+=+qt5base-core +qt5base-gui +libfreetype +fontconfig +libudev +PACKAGE_qt5base-plugin-input-libinput:libinput
-endef
-
-define Package/qt5base-plugin-platforms-minimal
- $(call Package/qt5base/Default)
- TITLE+=platform minimal (plugin)
- DEPENDS+=+qt5base-core +qt5base-gui +libfreetype +fontconfig
-endef
-
-define Package/qt5base-plugin-platforms-offscreen
- $(call Package/qt5base/Default)
- TITLE+=platform offscreen (plugin)
- DEPENDS+=+qt5base-core +qt5base-gui +libfreetype +fontconfig
-endef
-
-define Package/qt5base-plugin-platforms-vnc
- $(call Package/qt5base/Default)
- TITLE+=platform vnc (plugin)
- DEPENDS+=+qt5base-core +qt5base-gui +qt5base-network +libfreetype +fontconfig +libudev +PACKAGE_qt5base-plugin-input-libinput:libinput
-endef
-
-
-
-###### sql
-
-#define Package/qt5base-plugin-sqldrivers-sqlite
-# $(call Package/qt5base/Default)
-# TITLE+=sqldriver sqlite (plugin)
-# DEPENDS+=+qt5base-core +qt5base-sql +libsqlite3
-#endef
-
-define Package/qt5base-examples
- $(call Package/qt5base/Default)
- TITLE+=examples
- DEPENDS+=\
- +qt5base-core \
- +qt5base-gui \
- +qt5base-widgets \
- +qt5base-network \
- +qt5base-sql \
- +qt5base-xml \
- +qt5base-printSupport \
- +qt5base-concurrent \
- +qt5base-gl
-endef
-
-define Build/Prepare
- $(call Build/Prepare/Default)
- $(CP) \
- ./files/mkspecs/linux-openwrt-g++ \
- $(PKG_BUILD_DIR)/mkspecs/
-endef
-
-# TARGET_CFLAGS += \
-# -I$(STAGING_DIR)/usr/include/freetype2 \
-# -I$(STAGING_DIR)/usr/include/libdrm
-
-define Build/Configure
- # CROSS/TARGET_* need to be passed to configure, in order to use cross-compiling tools to check for requirements.
- # Usually used variables such as CC/CXX/CFLAGS/CXXFLAGS/LDFLAGS would be used for compilation of host tools (qmake, moc, etc.),
- # hence we use the TARGET_* nomenclature.
- #
- # NOTES:
- # - icu support currently depends on selection of icu package which is not ideal, since unpredictable.
- # - icu support overrides iconv support
- ( cd $(PKG_BUILD_DIR) ; \
- TARGET_CROSS="$(TARGET_CROSS)" \
- TARGET_CFLAGS="$(TARGET_CFLAGS)" \
- TARGET_CXXFLAGS="$(TARGET_CFLAGS) $(TARGET_CXXFLAGS)" \
- TARGET_LDFLAGS="$(TARGET_LDFLAGS)" \
- PKG_CONFIG_SYSROOT_DIR="$(STAGING_DIR)" \
- ./configure \
- --prefix=$(QT_INSTALL_PREFIX) \
- --extprefix=$(QT_EXTPREFIX) \
- --hostprefix=$(QT_HOST_PREFIX) \
- --gcc-sysroot=no \
- --bindir=$(QT_INSTALL_BINS) \
- --headerdir=$(QT_INSTALL_HEADERS) \
- --libdir=$(QT_INSTALL_LIBS) \
- --archdatadir=$(QT_INSTALL_ARCHDATA) \
- --plugindir=$(QT_INSTALL_PLUGINS) \
- --libexecdir=$(QT_INSTALL_LIBEXECS) \
- --importdir=$(QT_INSTALL_IMPORTS) \
- --qmldir=$(QT_INSTALL_QML) \
- --datadir=$(QT_INSTALL_DATA) \
- --docdir=$(QT_INSTALL_DOCS) \
- --translationdir=$(QT_INSTALL_TRANSLATIONS) \
- --sysconfdir=$(QT_INSTALL_CONFIGURATION) \
- --examplesdir=$(QT_INSTALL_EXAMPLES) \
- --testsdir=$(QT_INSTALL_TESTS) \
- --hostbindir=$(QT_HOST_BINS) \
- --hostlibdir=$(QT_HOST_LIBS) \
- --hostdatadir=$(QT_HOST_DATA) \
- --verbose=yes \
- --opensource \
- --confirm-license \
- --release=yes \
- --optimized-tools=no \
- --optimize-size=no \
- --strip=no \
- --shared=yes \
- --framework=no \
- --xplatform=linux-openwrt-g++ \
- --reduce-exports=no \
- --reduce-relocations=no \
- --pch=no \
- --ltcg=no \
- --use-gold-linker=no \
- --warnings-are-errors=no \
- --pkg-config=yes \
- --compile-examples=$(if $(CONFIG_PACKAGE_qt5base-examples),yes,no) \
- $(if $(CONFIG_PACKAGE_qt5base-examples),,--nomake=examples) \
- --gui=$(if $(CONFIG_PACKAGE_qt5base-gui),yes,no) \
- --widgets=$(if $(CONFIG_PACKAGE_qt5base-widgets),yes,no) \
- --dbus=no \
- --accessibility=yes \
- --doubleconversion=system \
- --glib=no \
- --eventfd=no \
- --inotify=no \
- --iconv=$(if $(CONFIG_BUILD_NLS),$(if $(CONFIG_LIBC_USE_GLIBC)$(CONFIG_LIBC_USE_MUSL),posix)$(if $(CONFIG_LIBC_USE_UCLIBC),gnu),no) \
- --icu=$(if $(CONFIG_PACKAGE_icu),yes,no) \
- --pcre=system \
- --zlib=system \
- --journald=no \
- --syslog=no \
- --ssl=$(if $(CONFIG_PACKAGE_qt5base-network),yes,no) \
- --openssl-linked$(if $(CONFIG_PACKAGE_qt5base-network),,=no) \
- --libproxy=no \
- --system-proxies=yes \
- --cups=no \
- --fontconfig=yes \
- --freetype=system \
- --harfbuzz=no \
- --gtk=no \
- --opengl=no \
- --opengles3=no \
- --egl=no \
- --xcb-xlib=no \
- --qpa=$(if $(CONFIG_PACKAGE_qt5base-plugin-platforms-linuxfb),linuxfb,) \
- --directfb=no \
- --eglfs=no \
- --gbm=no \
- --linuxfb=$(if $(CONFIG_PACKAGE_qt5base-plugin-platforms-linuxfb),yes,no) \
- --xcb=no \
- \
- --libudev=yes \
- --evdev=yes \
- --libinput=$(if $(CONFIG_PACKAGE_qt5base-plugin-input-libinput),yes,no) \
- --mtdev=no \
- --tslib=no \
- --bundled-xcb-xinput=no \
- --xkbcommon=no \
- --gif=$(if $(CONFIG_PACKAGE_qt5base-gui),yes,no) \
- --ico=$(if $(CONFIG_PACKAGE_qt5base-plugin-imageformats-ico),yes,no) \
- --libjpeg=$(if $(CONFIG_PACKAGE_qt5base-plugin-imageformats-jpeg),system,no) \
- --libpng=system \
- --sql-db2=no \
- --sql-ibase=no \
- --sql-mysql=no \
- --sql-oci=no \
- --sql-odbc=no \
- --sql-psql=no \
- --sql-sqlite=no \
- --sql-sqlite2=no \
- --sql-tds=no \
- --sqlite=no \
- )
-endef
-
-
-define Host/Configure
- # CROSS/TARGET_* need to be passed to configure, in order to use cross-compiling tools to check for requirements.
- # Usually used variables such as CC/CXX/CFLAGS/CXXFLAGS/LDFLAGS would be used for compilation of host tools (qmake, moc, etc.),
- # hence we use the TARGET_* nomenclature.
- ( cd $(HOST_BUILD_DIR) ; \
- TARGET_CFLAGS="$(HOST_CFLAGS)" \
- TARGET_CXXFLAGS="$(HOST_CFLAGS) $(HOST_CXXFLAGS)" \
- TARGET_LDFLAGS="$(HOST_LDFLAGS)" \
- ./configure \
- --prefix=$(STAGING_DIR_HOST) \
- --hostprefix=$(STAGING_DIR_HOST) \
- --hostdatadir=$(STAGING_DIR_HOST)/share \
- --datadir=$(STAGING_DIR_HOST)/share \
- --archdatadir=$(STAGING_DIR_HOST)/lib \
- --gcc-sysroot=no \
- --verbose=yes \
- --opensource \
- --confirm-license \
- --release=yes \
- --optimized-tools=no \
- --optimize-size=no \
- --strip=no \
- --shared=yes \
- --framework=no \
- --reduce-exports=no \
- --reduce-relocations=no \
- --pch=no \
- --ltcg=no \
- --use-gold-linker=no \
- --warnings-are-errors=no \
- --pkg-config=yes \
- --compile-examples=no \
- --make=libs \
- --nomake=tools \
- --nomake=examples \
- --gui=yes \
- --widgets=no \
- --dbus=no \
- --accessibility=no \
- --doubleconversion=qt \
- --glib=no \
- --eventfd=no \
- --inotify=no \
- --iconv=no \
- --icu=no \
- --pcre=qt \
- --zlib=qt \
- --journald=no \
- --syslog=no \
- --ssl=no \
- --libproxy=no \
- --system-proxies=no \
- --cups=no \
- --fontconfig=no \
- --freetype=qt \
- --harfbuzz=no \
- --gtk=no \
- --opengl=no \
- --opengles3=no \
- --egl=no \
- --xcb-xlib=no \
- --directfb=no \
- --eglfs=no \
- --gbm=no \
- --linuxfb=no \
- --xcb=no \
- \
- --libudev=no \
- --evdev=no \
- --libinput=no \
- --mtdev=no \
- --tslib=no \
- --bundled-xcb-xinput=no \
- --xkbcommon=no \
- --gif=no \
- --ico=no \
- --libjpeg=no \
- --libpng=no \
- --sql-db2=no \
- --sql-ibase=no \
- --sql-mysql=no \
- --sql-oci=no \
- --sql-odbc=no \
- --sql-psql=no \
- --sql-sqlite=no \
- --sql-sqlite2=no \
- --sql-tds=no \
- --sqlite=no \
- )
-endef
-
-define Build/InstallDev
- $(INSTALL_DIR) \
- $(STAGING_DIR)/host/mk
-
- $(CP) \
- ./files/qmake.mk \
- $(STAGING_DIR)/host/mk/
-
- $(call Build/Install/HostFiles,$(1))
- $(call Build/Install/Headers,$(1))
- $(call Build/Install/Libs,$(1),*)
-endef
-
-define Host/Install
- $(call Host/Install/Default)
-
- $(INSTALL_DIR) \
- $(STAGING_DIR_HOST)/bin \
- $(STAGING_DIR_HOST)/lib \
- $(STAGING_DIR_HOST)/include \
- $(STAGING_DIR_HOST)/share
-
- $(CP) \
- $(HOST_INSTALL_DIR)/lib/* \
- $(STAGING_DIR_HOST)/lib/
-
- $(CP) \
- $(HOST_INSTALL_DIR)/include/* \
- $(STAGING_DIR_HOST)/include/
-
- $(CP) \
- $(HOST_INSTALL_DIR)/share/* \
- $(STAGING_DIR_HOST)/share/
-
- $(CP) \
- $(HOST_INSTALL_DIR)/bin/* \
- $(STAGING_DIR_HOST)/bin/
-endef
-
-define Package/qt5base-concurrent/install
- $(call Build/Install/Libs,$(1),libQt5Concurrent)
-endef
-
-define Package/qt5base-core/install
- $(call Build/Install/Libs,$(1),libQt5Core)
-endef
-
-define Package/qt5base-gl/install
- $(call Build/Install/Libs,$(1),libQt5OpenGL)
-endef
-
-define Package/qt5base-gui/install
- $(call Build/Install/Libs,$(1),libQt5Gui)
-endef
-
-define Package/qt5base-network/install
- $(call Build/Install/Libs,$(1),libQt5Network)
-endef
-
-define Package/qt5base-printSupport/install
- $(call Build/Install/Libs,$(1),libQt5PrintSupport)
-endef
-
-define Package/qt5base-sql/install
- $(call Build/Install/Libs,$(1),libQt5Sql)
-endef
-
-define Package/qt5base-test/install
- $(call Build/Install/Libs,$(1),libQt5Test)
-endef
-
-define Package/qt5base-widgets/install
- $(call Build/Install/Libs,$(1),libQt5Widgets)
-endef
-
-define Package/qt5base-xml/install
- $(call Build/Install/Libs,$(1),libQt5Xml)
-endef
-
-define Package/qt5base-plugin-bearer-generic/install
- $(call Build/Install/Plugins,$(1),bearer,libqgenericbearer)
-endef
-
-define Package/qt5base-plugin-input-libinput/install
- $(call Build/Install/Plugins,$(1),generic,libqlibinputplugin)
-endef
-
-define Package/qt5base-plugin-input-evdevkeyboard/install
- $(call Build/Install/Plugins,$(1),generic,libqevdevkeyboardplugin)
-endef
-
-define Package/qt5base-plugin-input-evdevmouse/install
- $(call Build/Install/Plugins,$(1),generic,libqevdevmouseplugin)
-endef
-
-define Package/qt5base-plugin-input-evdevtablet/install
- $(call Build/Install/Plugins,$(1),generic,libqevdevtabletplugin)
-endef
-
-define Package/qt5base-plugin-input-evdevtouch/install
- $(call Build/Install/Plugins,$(1),generic,libqevdevtouchplugin)
-endef
-
-#define Package/qt5base-plugin-imageformats-gif/install
-# $(call Build/Install/Plugins,$(1),imageformats,libqgif)
-#endef
-
-define Package/qt5base-plugin-imageformats-ico/install
- $(call Build/Install/Plugins,$(1),imageformats,libqico)
-endef
-
-define Package/qt5base-plugin-imageformats-jpeg/install
- $(call Build/Install/Plugins,$(1),imageformats,libqjpeg)
-endef
-
-#define Package/qt5base-plugin-imageformats-png/install
-# $(call Build/Install/Plugins,$(1),imageformats,libqpng)
-#endef
-
-define Package/qt5base-plugin-platforms-linuxfb/install
- $(call Build/Install/Plugins,$(1),platforms,libqlinuxfb)
-endef
-
-define Package/qt5base-plugin-platforms-vnc/install
- $(call Build/Install/Plugins,$(1),platforms,libqvnc)
-endef
-
-#define Package/qt5base-plugin-platforms-eglfs/install
-# $(call Build/Install/Plugins,$(1),platforms,libqeglfs)
-#endef
-
-#define Package/qt5base-plugin-platforms-minimalegl/install
-# $(call Build/Install/Plugins,$(1),platforms,libqminimalegl)
-#endef
-
-define Package/qt5base-plugin-platforms-minimal/install
- $(call Build/Install/Plugins,$(1),platforms,libqminimal)
-endef
-
-define Package/qt5base-plugin-platforms-offscreen/install
- $(call Build/Install/Plugins,$(1),platforms,libqoffscreen)
-endef
-
-#define Package/qt5base-plugin-sqldrivers-sqlite/install
-# $(call Build/Install/Plugins,$(1),sqldrivers,libqsqlite)
-#endef
-
-define Package/qt5base-examples/install
- $(call Build/Install/Examples,$(1))
-endef
-
-# $(eval $(call BuildPackage,qt5base))
-$(eval $(call BuildPackage,qt5base-concurrent))
-$(eval $(call BuildPackage,qt5base-core))
-$(eval $(call BuildPackage,qt5base-gui))
-$(eval $(call BuildPackage,qt5base-gl))
-$(eval $(call BuildPackage,qt5base-network))
-$(eval $(call BuildPackage,qt5base-printSupport))
-$(eval $(call BuildPackage,qt5base-sql))
-$(eval $(call BuildPackage,qt5base-test))
-$(eval $(call BuildPackage,qt5base-widgets))
-$(eval $(call BuildPackage,qt5base-xml))
-$(eval $(call BuildPackage,qt5base-plugin-bearer-generic))
-$(eval $(call BuildPackage,qt5base-plugin-input-libinput))
-$(eval $(call BuildPackage,qt5base-plugin-input-evdevkeyboard))
-$(eval $(call BuildPackage,qt5base-plugin-input-evdevmouse))
-$(eval $(call BuildPackage,qt5base-plugin-input-evdevtablet))
-$(eval $(call BuildPackage,qt5base-plugin-input-evdevtouch))
-#$(eval $(call BuildPackage,qt5base-plugin-imageformats-gif))
-$(eval $(call BuildPackage,qt5base-plugin-imageformats-ico))
-$(eval $(call BuildPackage,qt5base-plugin-imageformats-jpeg))
-#$(eval $(call BuildPackage,qt5base-plugin-imageformats-png))
-$(eval $(call BuildPackage,qt5base-plugin-platforms-linuxfb))
-#$(eval $(call BuildPackage,qt5base-plugin-platforms-eglfs))
-#$(eval $(call BuildPackage,qt5base-plugin-platforms-minimalegl))
-$(eval $(call BuildPackage,qt5base-plugin-platforms-minimal))
-$(eval $(call BuildPackage,qt5base-plugin-platforms-offscreen))
-$(eval $(call BuildPackage,qt5base-plugin-platforms-vnc))
-#$(eval $(call BuildPackage,qt5base-plugin-sqldrivers-sqlite))
-$(eval $(call BuildPackage,qt5base-examples))
-$(eval $(call HostBuild))
+++ /dev/null
-#
-# qmake configuration for building with linux-openwrt-g++
-#
-
-MAKEFILE_GENERATOR = UNIX
-CONFIG += incremental
-QMAKE_INCREMENTAL_STYLE = sublib
-
-include(../common/linux.conf)
-include(../common/gcc-base-unix.conf)
-include(../common/g++-unix.conf)
-
-
-# modifications to gcc-base.conf (included by gcc-base-unix.conf)
-QMAKE_CFLAGS += $$(TARGET_CFLAGS)
-QMAKE_CXXFLAGS += $$(TARGET_CXXFLAGS)
-QMAKE_LFLAGS += $$(TARGET_LDFLAGS)
-
-# modifications to g++.conf
-QMAKE_CC = $$(TARGET_CROSS)gcc
-QMAKE_CXX = $$(TARGET_CROSS)g++
-
-QMAKE_LINK_C = $$QMAKE_CC
-QMAKE_LINK_C_SHLIB = $$QMAKE_CC
-QMAKE_LINK = $$QMAKE_CXX
-QMAKE_LINK_SHLIB = $$QMAKE_CXX
-
-
-# modifications to linux.conf
-QMAKE_AR = $$(TARGET_CROSS)ar cqs
-QMAKE_RANLIB = $$(TARGET_CROSS)ranlib # QMAKE_RANLIB is set to NULL in linux.conf. Why? Not needed anymore? Set it anyway, just in case...
-QMAKE_OBJCOPY = $$(TARGET_CROSS)objcopy
-QMAKE_NM = $$(TARGET_CROSS)nm # whole qt5 project doesn't use $QMAKE_NM - wonder why it's defined in linux.conf at all. However better set it to ours than keep it being set to the host's version, just in case...
-QMAKE_STRIP = # not used, since -no-strip is passed. Let's OpenWrt do the stripping
-
-
-load(qt_config)
+++ /dev/null
-/****************************************************************************
-**
-** Copyright (C) 2014 Digia Plc and/or its subsidiary(-ies).
-** Contact: http://www.qt-project.org/legal
-**
-** This file is part of the qmake spec of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL21$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and Digia. For licensing terms and
-** conditions see http://qt.digia.com/licensing. For further information
-** use the contact form at http://qt.digia.com/contact-us.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 or version 3 as published by the Free
-** Software Foundation and appearing in the file LICENSE.LGPLv21 and
-** LICENSE.LGPLv3 included in the packaging of this file. Please review the
-** following information to ensure the GNU Lesser General Public License
-** requirements will be met: https://www.gnu.org/licenses/lgpl.html and
-** http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Digia gives you certain additional
-** rights. These rights are described in the Digia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-#include "../linux-g++/qplatformdefs.h"
+++ /dev/null
-#
-# Copyright (C) 2020 OpenWrt.org
-# This is free software, licensed under the GNU General Public License v2.
-# See /LICENSE for more information.
-#
-
-# qmake - oh my.. qmake is supposed to generate Makefiles suitable for cross-compiling
-# however fails itself hard being used in a cross compiling toolchain in any sane way.
-#
-# There are the QT_INSTALL_* variables - which get set via Qt's configure options,
-# containing paths which become hardcoded into the qmake binary.
-# Those paths are supposed to refer to the target system, however are also used for
-# include and linker paths.
-# Hence, setting QT_INSTALL_PREFIX=/usr would result in -I/usr/include,
-# -L/usr/lib, etc., referencing the host headers and libraries.
-# The QT_SYSROOT variable looks most promising for distinguishing between
-# host and target specific paths, however it fails hard and is totally undocumented.
-# The extprefix variable tries to cover the situation, however actually just prepends
-# its path to the QT_INSTALL_* variables - basically cosmetics.
-#
-# The QT_HOST_* variables are used for host tools, libraries, mkspecs and its data.
-#
-# As a consequence we set QT_INSTALL_* and QT_HOST_* to absolute paths, which
-# inevitably results in the following issues:
-#
-# - 'make install' results in paths like:
-# /tmp/install_root/home/cross/openwrt/staging_dir/target-*/usr.
-# This is workarounded by overriding the PKG_INSTALL_DIR, so the Makefiles don't
-# have to care about that.
-# - Once compiled, qmake's location and its requirements (mkspecs, etc.) are fixed,
-# since its absolute paths were hardcoded. No moving around of the toolchain.
-# - Those variables might be used for target binaries for some weird reason, so
-# paths to the host staging_dir would make it to the target, logically leading to
-# errors.
-# - Paths might make it into target binaries, thus referencing non-existing
-# objects on the target platform. Tihs behaviour wasn't observed so far, however
-# one might use the QT_INSTALL_* variables for some weird reason during runtime.
-
-# for target builds (STAGING_DIR)
-QT_EXTPREFIX:=$(STAGING_DIR)/$(CONFIGURE_PREFIX)
-QT_SYSROOT:=
-QT_INSTALL_CONFIGURATION:=/etc/qt5
-QT_INSTALL_PREFIX:=$(CONFIGURE_PREFIX)
-QT_INSTALL_LIBS:=$(QT_INSTALL_PREFIX)/lib
-QT_INSTALL_DATA:=$(QT_INSTALL_PREFIX)/share/qt5
-QT_INSTALL_HEADERS:=$(QT_INSTALL_PREFIX)/include
-QT_INSTALL_BINS:=$(QT_INSTALL_PREFIX)/bin
-QT_INSTALL_DOCS:=$(QT_INSTALL_DATA)/doc
-QT_INSTALL_TRANSLATIONS:=$(QT_INSTALL_DATA)/translations
-QT_INSTALL_ARCHDATA:=$(QT_INSTALL_LIBS)/qt5
-QT_INSTALL_LIBEXECS:=$(QT_INSTALL_ARCHDATA)
-QT_INSTALL_TESTS:=$(QT_INSTALL_ARCHDATA)/tests
-QT_INSTALL_PLUGINS:=$(QT_INSTALL_ARCHDATA)/plugins
-QT_INSTALL_IMPORTS:=$(QT_INSTALL_ARCHDATA)/imports
-QT_INSTALL_QML:=$(QT_INSTALL_ARCHDATA)/qml
-QT_INSTALL_EXAMPLES:=$(QT_INSTALL_ARCHDATA)/examples
-QT_INSTALL_DEMOS:=$(QT_INSTALL_EXAMPLES)
-# for host builds defined in target project files (STAGING_DIR)/host
-QT_HOST_EXTPREFIX:=$(STAGING_DIR)/host
-QT_HOST_PREFIX:=$(QT_HOST_EXTPREFIX)
-QT_HOST_DATA:=$(QT_HOST_PREFIX)/share
-QT_HOST_BINS:=$(QT_HOST_PREFIX)/bin
-QT_HOST_LIBS:=$(QT_HOST_PREFIX)/lib
-
-QMAKE_SPEC:=linux-g++
-QMAKE_XSPEC:=linux-openwrt-g++
-
-PKG_INSTALL_DIR_ROOT:=$(PKG_INSTALL_DIR)
-PKG_INSTALL_DIR:=$(PKG_INSTALL_DIR_ROOT)/$(STAGING_DIR)
-
-# for target independant host builds (STAGING_DIR_HOST)
-HOST_INSTALL_DIR_ROOT:=$(HOST_INSTALL_DIR)
-HOST_INSTALL_DIR:=$(HOST_INSTALL_DIR_ROOT)/$(STAGING_DIR_HOST)
-#HOST_INSTALL_DIR:=$(HOST_INSTALL_DIR_ROOT)/$(STAGING_DIR)
-
-QMAKE_TARGET=$(STAGING_DIR)/host/bin/qmake
-QMAKE_HOST=$(STAGING_DIR_HOST)/bin/qmake
-
-define Build/Configure/Default
- TARGET_CROSS="$(TARGET_CROSS)" \
- TARGET_CFLAGS="$(TARGET_CPPFLAGS) $(TARGET_CFLAGS)" \
- TARGET_CXXFLAGS="$(TARGET_CPPFLAGS) $(TARGET_CXXFLAGS)" \
- TARGET_LDFLAGS="$(TARGET_LDFLAGS)" \
- $(QMAKE_TARGET) \
- -o $(PKG_BUILD_DIR)/$(MAKE_PATH)/Makefile \
- $(PKG_BUILD_DIR)/$(MAKE_PATH)/$(if $(1),$(1).pro,)
-endef
-
-define Host/Configure/Default
- $(QMAKE_HOST) \
- -o $(HOST_BUILD_DIR)/$(MAKE_PATH)/Makefile \
- $(HOST_BUILD_DIR)/$(MAKE_PATH)/$(if $(1),$(1).pro,)
-endef
-
-# We need to pass all qmake (TARGET_*) related variables to $(MAKE) as well, as
-# (generated) Makefiles may invoke qmake once again for creating further Makefiles.
-# Actually we'd also like to pass all other vars (defined in $MAKE_VARS and
-# $MAKE_FLAGS) to also make ordinary non-qmake generated Makefiles calling tool-
-# chain executables like $CC/$CXX/$AR.. work, however this would interfere with
-# qmake generated Makefiles, since they expect variables being set differently.
-# For example qmake generated Makefiles expect $AR to also contain ar's arguments,
-# while ordinary Makefiles don't.
-# Until we find a way to disginguish both kinds of Makefiles, we will neglect
-# ordinary Makefiles calling toolchain executables, however as they might take
-# $CFLAGS/CXXFLAGS into account (e.g. flags as -D*), we pass at least those
-# hoping to not interfere / break something.
-# Mixing qmake generated and ordinary Makfiles - both calling toolchain execut-
-# ables - is probably a very rare case anyway.
-define Build/Compile/Default
- +TARGET_CROSS="$(TARGET_CROSS)" \
- TARGET_CFLAGS="$(TARGET_CPPFLAGS) $(TARGET_CFLAGS)" \
- TARGET_CXXFLAGS="$(TARGET_CPPFLAGS) $(TARGET_CXXFLAGS)" \
- TARGET_LDFLAGS="$(TARGET_LDFLAGS)" \
- CFLAGS="$(TARGET_CPPFLAGS) $(TARGET_CFLAGS)" \
- CXXFLAGS="$(TARGET_CPPFLAGS) $(TARGET_CXXFLAGS)" \
- LDFLAGS="$(TARGET_LDFLAGS)" \
- $(MAKE) $(PKG_JOBS) -C $(PKG_BUILD_DIR)/$(MAKE_PATH) \
- $(1)
-endef
-
-define Host/Compile/Default
- $(MAKE) $(PKG_JOBS) -C $(HOST_BUILD_DIR)/$(MAKE_PATH) \
- $(1)
-endef
-
-define Build/Install/Default
- INSTALL_ROOT="$(PKG_INSTALL_DIR_ROOT)" \
- $(MAKE) -C $(PKG_BUILD_DIR)/$(MAKE_PATH) \
- $(1) install
-endef
-
-define Host/Install/Default
- INSTALL_ROOT="$(HOST_INSTALL_DIR_ROOT)" \
- $(MAKE) -C $(HOST_BUILD_DIR)/$(MAKE_PATH) \
- $(1) install
-endef
-
-define Build/Install/HostFiles
- $(INSTALL_DIR) \
- $(1)/host
-
- $(CP) \
- $(PKG_INSTALL_DIR)/host/* \
- $(1)/host/
-endef
-
-define Build/Install/Headers
- $(INSTALL_DIR) \
- $(1)/$(QT_INSTALL_HEADERS)
-
- $(CP) \
- $(PKG_INSTALL_DIR)/$(QT_INSTALL_HEADERS)/* \
- $(1)/$(QT_INSTALL_HEADERS)/
-endef
-
-define Build/Install/Libs
- $(INSTALL_DIR) \
- $(1)/$(QT_INSTALL_LIBS)
-
- $(CP) \
- $(PKG_INSTALL_DIR)/$(QT_INSTALL_LIBS)/$(2).so* \
- $(1)/$(QT_INSTALL_LIBS)/
-endef
-
-define Build/Install/Translations
- $(INSTALL_DIR) \
- $(1)/$(QT_INSTALL_TRANSLATIONS)
-
- $(CP) \
- $(PKG_INSTALL_DIR)/$(QT_INSTALL_TRANSLATIONS)/$(2).qm \
- $(1)/$(QT_INSTALL_TRANSLATIONS)/
-endef
-
-define Build/Install/Plugins
- $(INSTALL_DIR) \
- $(1)/$(QT_INSTALL_PLUGINS)/$(2)
-
- $(CP) \
- $(PKG_INSTALL_DIR)/$(QT_INSTALL_PLUGINS)/$(2)/$(3).so* \
- $(1)/$(QT_INSTALL_PLUGINS)/$(2)/
-endef
-
-define Build/Install/Examples
- $(INSTALL_DIR) \
- $(1)/$(QT_INSTALL_EXAMPLES)
-
- $(CP) \
- $(PKG_INSTALL_DIR)/$(QT_INSTALL_EXAMPLES)/* \
- $(1)/$(QT_INSTALL_EXAMPLES)/
-
- $(FIND) $(1)/$(QT_INSTALL_EXAMPLES) \
- -type f \( -name '*.cpp' -o -name '*.h' -o -name '*.pro' -o -name '*.pri' \) | \
- $(XARGS) $(RM) -vf
-endef
+++ /dev/null
-From e9097ab24832e42df6e16093e5c3b775dbcf2367 Mon Sep 17 00:00:00 2001
-Date: Fri, 5 Jun 2020 12:46:36 +0000
-Subject: [PATCH] GNU iconv() - at least in OpenWrt - behaves like POSIX
- iconv()
-
-GNU iconv() had the terrible idea of introducing a build variant for its
-iconv() function, where the second argument can either be a `char **` or
-a `const char **` depending on a macro set under whatever certain
-circumstances at build time, resulting in different function signatures.
-
-Despite those two possible variants, the project only mentions the
-non-const one in their manual page.
-
-Since this didn't seem to be enough trouble for its users, they seem to
-have changed the default variant from `const char **` to `char **` at
-some point, while leaving the manual page as it is, now stating the
-non-default, hence in most cases probably wrong, signature.
-
-Qt assumes GNU iconv() has the nowadays non-default function signature
-(`const char **`), and distiguishes that way from the POSIX one.
-Another issue with Qt and GNU iconv(): While we can easily make the test
-work for GNU iconv with its default iconv()-signature, Qt assumes that if
-the GNU-iconv succeeds, the present version of iconv is POSIX-
-incompatible - which however isn't true in our case.
-
-However we also can't just use the POSIX iconv test, as the Qt test for
-POSIX iconv fails on GNU iconv for another reason: GNU iconv requires
-explicit linker flags (`-liconv`), which the Qt test for POSIX iconv
-however implicitly drops when the target system is linux.
-
-This was extensively discussed in a Qt bug report:
-https://bugreports.qt.io/projects/QTBUG/issues/QTBUG-84708
-
-The only good thing seems to be that Qt's configure script is also buggy
-and counter-intuitive, resulting in 'gnu' not being accepted as iconv
-variant when using the default single-dash format for specifying
-configure options:
-https://bugreports.qt.io/projects/QTBUG/issues/QTBUG-84687
-So most likely there's nobody using Qt with GNU iconv anyway.
-
-This patch is what I came up with being the smallest changeset.
-May it work.
----
- src/corelib/codecs/qiconvcodec.cpp | 5 -----
- src/corelib/configure.json | 2 +-
- 2 files changed, 1 insertion(+), 6 deletions(-)
-
-diff --git a/src/corelib/codecs/qiconvcodec.cpp b/src/corelib/codecs/qiconvcodec.cpp
-index 9c397279..8d43e6c8 100644
---- a/src/corelib/codecs/qiconvcodec.cpp
-+++ b/src/corelib/codecs/qiconvcodec.cpp
-@@ -180,12 +180,7 @@ QString QIconvCodec::convertToUnicode(const char* chars, int len, ConverterState
- IconvState *state = *pstate;
- size_t inBytesLeft = len;
- // best case assumption, each byte is converted into one UTF-16 character, plus 2 bytes for the BOM
--#if !QT_CONFIG(posix_libiconv)
-- // GNU doesn't disagree with POSIX :/
-- const char *inBytes = chars;
--#else
- char *inBytes = const_cast<char *>(chars);
--#endif
-
- QByteArray in;
- if (remainingCount) {
-diff --git a/src/corelib/configure.json b/src/corelib/configure.json
-index c5e04232..32237bc4 100644
---- a/src/corelib/configure.json
-+++ b/src/corelib/configure.json
-@@ -72,7 +72,7 @@
- "test": {
- "main": [
- "iconv_t x = iconv_open(\"\", \"\");",
-- "const char *inp;",
-+ "char *inp;",
- "char *outp;",
- "size_t inbytes, outbytes;",
- "iconv(x, &inp, &inbytes, &outp, &outbytes);",
---
-2.20.1
-
+++ /dev/null
-#
-# Copyright (C) 2020 OpenWrt
-# This is free software, licensed under the GNU General Public License v2.
-# See /LICENSE for more information.
-#
-
-include $(TOPDIR)/rules.mk
-
-PKG_NAME:=qt5graphicaleffects
-PKG_VERSION:=5.15.0
-PKG_RELEASE:=1
-PKG_HASH:=0d2ea4bc73b9df13a4b739dcbc1e3c7b298c7e682f7f9252b232e3bde7b63eda
-
-PKG_SYS_NAME:=qtgraphicaleffects-everywhere-src-$(PKG_VERSION)
-PKG_SOURCE:=$(PKG_SYS_NAME).tar.xz
-PKG_SOURCE_URL:=https://download.qt.io/official_releases/qt/$(basename $(PKG_VERSION))/$(PKG_VERSION)/submodules
-
-PKG_BUILD_DIR=$(BUILD_DIR)/$(PKG_SYS_NAME)
-PKG_BUILD_PARALLEL:=1
-PKG_BUILD_DEPENDS:=qt5base
-PKG_INSTALL:=1
-
-include $(INCLUDE_DIR)/package.mk
-include $(INCLUDE_DIR)/nls.mk
--include $(STAGING_DIR)/host/mk/qmake.mk
-
-define Package/qt5graphicaleffects
- SECTION:=video-frameworks
- CATEGORY:=Video
- SUBMENU:=Frameworks and Toolkits
- TITLE:=qt5graphicaleffects
- URL:=http://qt.io
- DEPENDS:=+qt5quick2-quick @BROKEN # depends on GL support, but currently we only support software rendering
-endef
-
-define Build/InstallDev
-endef
-
-define Package/qt5graphicaleffects/install
- $(INSTALL_DIR) \
- $(1)/usr/lib/qt5/qml/QtGraphicalEffects
-
- $(CP) \
- $(PKG_INSTALL_DIR)/usr/lib/qt5/qml/QtGraphicalEffects/* \
- $(1)/usr/lib/qt5/qml/QtGraphicalEffects/
-endef
-
-$(eval $(call BuildPackage,qt5graphicaleffects))
+++ /dev/null
-#
-# Copyright (C) 2020 OpenWrt.org
-# This is free software, licensed under the GNU General Public License v2.
-# See /LICENSE for more information.
-#
-
-### This package shares the same code as `qt5quick2-GLstubs`.
-### However unfortunately we can't handle both packages within
-### one Makefile, as it would create a circular dependency:
-### `qt5base` depends on `qt5quick2-GLstubs`, but
-### `qt5quick2-2d-sw-renderer` depends on `qt5quick2` which
-### depends on `qt5base`.
-### `qt5quick2-2d-sw-renderer` and `qt5quick2-GLstubs` sharing
-### the same Makefile results in `qt5base` depending on `qt5quick2`
-### which is meh.
-
-include $(TOPDIR)/rules.mk
-
-PKG_NAME:=qt5quick2-2d-sw-renderer-GLstubs
-PKG_VERSION:=5.7.0
-PKG_RELEASE:=1
-PKG_MD5SUM:=41bfcb5ab6d7a820687c4208beeb7057
-
-PKG_SYS_NAME:=qtdeclarative-render2d-opensource-src-$(PKG_VERSION)
-PKG_SOURCE:=$(PKG_SYS_NAME).tar.xz
-PKG_SOURCE_URL:=https://download.qt.io/archive/qt/$(basename $(PKG_VERSION))/$(PKG_VERSION)/submodules
-
-PKG_BUILD_DIR=$(BUILD_DIR)/qtdeclarative-render2d-opensource-src-$(PKG_VERSION)-GLstubs/$(PKG_SYS_NAME)
-PKG_BUILD_PARALLEL:=1
-
-include $(INCLUDE_DIR)/package.mk
-
-define Package/qt5quick2-2d-sw-renderer-GLstubs
- SECTION:=video-frameworks
- CATEGORY:=Video
- SUBMENU:=Frameworks and Toolkits
- TITLE:=Dummy GL stubs
- URL:=http://qt.io
-endef
-
-TARGET_CFLAGS += \
- -I../3rdparty/include
-
-define Build/Configure
-endef
-
-define Build/Compile
- ( cd $(PKG_BUILD_DIR)/tools/opengldummy/src ; \
- $(TARGET_CC) $(TARGET_CFLAGS) -fPIC -shared -o libEGL.so egl.cpp && \
- $(TARGET_CC) $(TARGET_CFLAGS) -fPIC -shared -o libGLESv2.so gles2.cpp \
- )
-endef
-
-define Build/InstallDev
- $(INSTALL_DIR) \
- $(1)/usr/include \
- $(1)/usr/lib
-
- $(CP) \
- $(PKG_BUILD_DIR)/tools/opengldummy/3rdparty/include/* \
- $(1)/usr/include/
-
- $(INSTALL_DATA) \
- $(PKG_BUILD_DIR)/tools/opengldummy/src/lib*.so* \
- $(1)/usr/lib/
-endef
-
-
-define Package/qt5quick2-2d-sw-renderer-GLstubs/install
- $(INSTALL_DIR) \
- $(1)/usr/lib
-
- $(INSTALL_DATA) \
- $(PKG_BUILD_DIR)/tools/opengldummy/src/lib*.so* \
- $(1)/usr/lib/
-endef
-
-$(eval $(call BuildPackage,qt5quick2-2d-sw-renderer-GLstubs))
+++ /dev/null
-#
-# Copyright (C) 2020 OpenWrt
-# This is free software, licensed under the GNU General Public License v2.
-# See /LICENSE for more information.
-#
-
-include $(TOPDIR)/rules.mk
-
-PKG_NAME:=qt5quick2-controls2
-PKG_VERSION:=5.15.0
-PKG_RELEASE:=1
-PKG_HASH:=839abda9b58cd8656b2e5f46afbb484e63df466481ace43318c4c2022684648f
-
-PKG_SYS_NAME:=qtquickcontrols2-everywhere-src-$(PKG_VERSION)
-PKG_SOURCE:=$(PKG_SYS_NAME).tar.xz
-PKG_SOURCE_URL:=https://download.qt.io/official_releases/qt/$(basename $(PKG_VERSION))/$(PKG_VERSION)/submodules
-
-PKG_BUILD_DIR=$(BUILD_DIR)/$(PKG_SYS_NAME)
-PKG_BUILD_PARALLEL:=1
-PKG_INSTALL:=1
-
-include $(INCLUDE_DIR)/package.mk
-include $(INCLUDE_DIR)/nls.mk
--include $(STAGING_DIR)/host/mk/qmake.mk
-
-define Package/qt5quick2-controls2
- SECTION:=video-frameworks
- CATEGORY:=Video
- SUBMENU:=Frameworks and Toolkits
- TITLE:=qt5quick2-controls2
- URL:=http://qt.io
- DEPENDS:=+qt5quick2-quick
-endef
-
-define Build/InstallDev
- $(call Build/Install/HostFiles,$(1))
- $(call Build/Install/Headers,$(1))
- $(call Build/Install/Libs,$(1),*)
-endef
-
-define Package/qt5quick2-controls2/install
- $(call Build/Install/Libs,$(1),libQt5QuickTemplates2)
- $(call Build/Install/Libs,$(1),libQt5QuickControls2)
-
- $(INSTALL_DIR) \
- $(1)/usr/lib/qt5/qml/QtQuick
-
- $(CP) \
- $(PKG_INSTALL_DIR)/usr/lib/qt5/qml/QtQuick/* \
- $(1)/usr/lib/qt5/qml/QtQuick/
-endef
-
-define Package/qt5quick2-templates2/install
- $(call Build/Install/Libs,$(1),libQt5QuickTemplates2)
-endef
-
-$(eval $(call BuildPackage,qt5quick2-controls2))
+++ /dev/null
-#
-# Copyright (C) 2020 OpenWrt
-# This is free software, licensed under the GNU General Public License v2.
-# See /LICENSE for more information.
-#
-
-include $(TOPDIR)/rules.mk
-
-PKG_NAME:=qt5quick2
-PKG_VERSION:=5.15.0
-PKG_RELEASE:=1
-PKG_HASH:=9c3c93fb7d340b2f7d738d12408c047318c78973cb45bfc5ff6b3a57e1fef699
-
-PKG_SYS_NAME:=qtdeclarative-everywhere-src-$(PKG_VERSION)
-PKG_SOURCE:=$(PKG_SYS_NAME).tar.xz
-PKG_SOURCE_URL:=https://download.qt.io/official_releases/qt/$(basename $(PKG_VERSION))/$(PKG_VERSION)/submodules
-
-PKG_BUILD_DIR=$(BUILD_DIR)/$(PKG_SYS_NAME)
-PKG_BUILD_PARALLEL:=1
-PKG_BUILD_DEPENDS:=qt5base
-PKG_INSTALL:=1
-
-include $(INCLUDE_DIR)/package.mk
-include $(INCLUDE_DIR)/nls.mk
--include $(STAGING_DIR)/host/mk/qmake.mk
-
-define Package/qt5quick2/Default
- SECTION:=video-frameworks
- CATEGORY:=Video
- SUBMENU:=Frameworks and Toolkits
- TITLE:=Qt5Quick2
-# DEPENDS+=qt5quick2
- URL:=http://qt.io
-endef
-
-# define Package/qt5quick2
-# $(call Package/qt5quick2/Default)
-# DEPENDS:=
-# MENU:=1
-# endef
-
-define Package/qt5quick2-qml
- $(call Package/qt5quick2/Default)
- TITLE+=Qml
- DEPENDS+=+qt5base-network
-endef
-
-define Package/qt5quick2-qml-models
- $(call Package/qt5quick2/Default)
- TITLE+=QmlModels
- DEPENDS+=+qt5quick2-qml
-endef
-
-define Package/qt5quick2-qml-worker-script
- $(call Package/qt5quick2/Default)
- TITLE+=QmlWorkerScript
- DEPENDS+=+qt5quick2-qml
-endef
-
-define Package/qt5quick2-quick
- $(call Package/qt5quick2/Default)
- TITLE+=Quick
- DEPENDS+=+qt5base-gui +qt5quick2-qml-models
-endef
-
-define Package/qt5quick2-quick-test
- $(call Package/qt5quick2/Default)
- TITLE+=QuickTest
- DEPENDS+=+qt5quick2-quick +qt5base-widgets +qt5base-test
-endef
-
-#define Package/qt5quick2-particles
-# $(call Package/qt5quick2/Default)
-# TITLE+=particles
-# DEPENDS+=+qt5quick2-quick
-#endef
-
-define Package/qt5quick2-quick-widgets
- $(call Package/qt5quick2/Default)
- TITLE+=QuickWidgets
- DEPENDS+=+qt5quick2-quick +qt5base-widgets
-endef
-
-define Package/qt5quick2-quick-shapes
- $(call Package/qt5quick2/Default)
- TITLE+=QuickShapes
- DEPENDS+=+qt5quick2-quick
-endef
-
-###
-
-define Package/qt5quick2-qml-module-qtqml-models2
- $(call Package/qt5quick2/Default)
- TITLE+=QML QtQml models
- DEPENDS+=+qt5quick2-qml-models
-endef
-
-define Package/qt5quick2-qml-module-qtqml-statemachine
- $(call Package/qt5quick2/Default)
- TITLE+=QML StateMachine
- DEPENDS:=+qt5quick2-qml
-endef
-
-define Package/qt5quick2-qml-module-qtqml-workerscript2
- $(call Package/qt5quick2/Default)
- TITLE+=QML WorkerScript
- DEPENDS:=+qt5quick2-qml-worker-script
-endef
-
-###
-
-define Package/qt5quick2-qml-module-qtlabs-animation
- $(call Package/qt5quick2/Default)
- TITLE+=QML QtLabs animation
- DEPENDS:=+qt5quick2-qml +qt5quick2-quick
-endef
-
-define Package/qt5quick2-qml-module-qtlabs-folderlistmodel
- $(call Package/qt5quick2/Default)
- TITLE+=QML QtLabs folderlistmodel
- DEPENDS:=+qt5quick2-qml
-endef
-
-define Package/qt5quick2-qml-module-qtlabs-models
- $(call Package/qt5quick2/Default)
- TITLE+=QML QtLabs qmlmodels
- DEPENDS+=+qt5quick2-qml-models
-endef
-
-define Package/qt5quick2-qml-module-qtlabs-settings
- $(call Package/qt5quick2/Default)
- TITLE+=QML QtLabs settings
- DEPENDS:=+qt5quick2-qml
-endef
-
-define Package/qt5quick2-qml-module-qtlabs-sharedimage
- $(call Package/qt5quick2/Default)
- TITLE+=QML QtLabs sharedimage
- DEPENDS:=+qt5quick2-quick
-endef
-
-define Package/qt5quick2-qml-module-qtlabs-wavefrontmesh
- $(call Package/qt5quick2/Default)
- TITLE+=QML QtLabs wavefrontmesh
- DEPENDS:=+qt5quick2-quick
-endef
-
-
-define Package/qt5quick2-qml-module-qttest
- $(call Package/qt5quick2/Default)
- TITLE+=QML QtTest
- DEPENDS+=+qt5quick2-quick +qt5quick2-quick-test
-endef
-
-define Package/qt5quick2-qml-module-qtquick-layouts
- $(call Package/qt5quick2/Default)
- TITLE+=QML QtQuick Layouts
- DEPENDS+=+qt5quick2-quick
-endef
-
-#define Package/qt5quick2-qml-module-qtquick-particles2
-# $(call Package/qt5quick2/Default)
-# TITLE+=QML particles
-# DEPENDS+=+qt5quick2-particles
-#endef
-
-define Package/qt5quick2-qml-module-qtquick-localstorage
- $(call Package/qt5quick2/Default)
- TITLE+=QML QtQuick LocalStorage
- DEPENDS+=+qt5quick2-qml +qt5base-sql
-endef
-
-define Package/qt5quick2-qml-module-qtquick-shapes
- $(call Package/qt5quick2/Default)
- TITLE+=QML QtQuick Shapes
- DEPENDS+=+qt5quick2-quick-shapes
-endef
-
-define Package/qt5quick2-qml-module-qtquick-window2
- $(call Package/qt5quick2/Default)
- TITLE+=QML QtQuick Window.2
- DEPENDS+=+qt5quick2-quick
-endef
-
-define Package/qt5quick2-qml-module-qtquick2
- $(call Package/qt5quick2/Default)
- TITLE+=QML QtQuick.2
- DEPENDS+=+qt5quick2-quick +qt5quick2-qml-worker-script
-endef
-
-####
-
-define Build/InstallDev
- $(call Build/Install/HostFiles,$(1))
- $(call Build/Install/Headers,$(1))
- $(call Build/Install/Libs,$(1),*)
-endef
-
-define Build/Install/QMLplugin
- $(INSTALL_DIR) \
- $(1)/$(QT_INSTALL_QML)/$(2)
-
- $(CP) \
- $(PKG_INSTALL_DIR)/$(QT_INSTALL_QML)/$(2)/{plugins.qmltypes,qmldir,$(3).{so,qml,js}*} \
- $(1)/$(QT_INSTALL_QML)/$(2)/ \
- || true
-endef
-
-###
-
-define Package/qt5quick2-qml/install
- $(call Build/Install/Libs,$(1),libQt5Qml)
-
- $(INSTALL_DIR) \
- $(1)/$(QT_INSTALL_QML)
-
- $(CP) \
- $(PKG_INSTALL_DIR)/$(QT_INSTALL_QML)/builtins.qmltypes \
- $(1)/$(QT_INSTALL_QML)/
-endef
-
-define Package/qt5quick2-qml-models/install
- $(call Build/Install/Libs,$(1),libQt5QmlModels)
-endef
-
-define Package/qt5quick2-qml-worker-script/install
- $(call Build/Install/Libs,$(1),libQt5QmlWorkerScript)
-endef
-
-define Package/qt5quick2-quick/install
- $(call Build/Install/Libs,$(1),libQt5Quick)
-endef
-
-define Package/qt5quick2-quick-test/install
- $(call Build/Install/Libs,$(1),libQt5QuickTest)
-endef
-
-#define Package/qt5quick2-particles/install
-# $(call Build/Install/Libs,$(1),libQt5QuickParticles)
-#endef
-
-define Package/qt5quick2-quick-widgets/install
- $(call Build/Install/Libs,$(1),libQt5QuickWidgets)
-endef
-
-define Package/qt5quick2-quick-shapes/install
- $(call Build/Install/Libs,$(1),libQt5QuickShapes)
-endef
-
-define Package/qt5quick2-qml-module-qtqml-models2/install
- $(call Build/Install/QMLplugin,$(1),QtQml/Models.2,*)
-endef
-
-define Package/qt5quick2-qml-module-qtqml-statemachine/install
- $(call Build/Install/QMLplugin,$(1),QtQml/StateMachine,*)
-endef
-
-define Package/qt5quick2-qml-module-qtqml-workerscript2/install
- $(call Build/Install/QMLplugin,$(1),QtQml/WorkerScript.2,*)
-endef
-
-define Package/qt5quick2-qml-module-qtlabs-animation/install
- $(call Build/Install/QMLplugin,$(1),Qt/labs/animation/,*)
-endef
-
-define Package/qt5quick2-qml-module-qtlabs-folderlistmodel/install
- $(call Build/Install/QMLplugin,$(1),Qt/labs/folderlistmodel,*)
-endef
-
-define Package/qt5quick2-qml-module-qtlabs-models/install
- $(call Build/Install/QMLplugin,$(1),Qt/labs/qmlmodels,*)
-endef
-
-define Package/qt5quick2-qml-module-qtlabs-settings/install
- $(call Build/Install/QMLplugin,$(1),Qt/labs/settings/,*)
-endef
-
-define Package/qt5quick2-qml-module-qtlabs-sharedimage/install
- $(call Build/Install/QMLplugin,$(1),Qt/labs/sharedimage/,*)
-endef
-
-define Package/qt5quick2-qml-module-qtlabs-wavefrontmesh/install
- $(call Build/Install/QMLplugin,$(1),Qt/labs/wavefrontmesh/,*)
-endef
-
-define Package/qt5quick2-qml-module-qttest/install
- $(call Build/Install/QMLplugin,$(1),QtTest,*)
- $(INSTALL_DIR) $(1)/usr/bin
- $(CP) $(PKG_INSTALL_DIR)/usr/bin/qmltestrunner $(1)/usr/bin/
-endef
-
-define Package/qt5quick2-qml-module-qtquick-layouts/install
- $(call Build/Install/QMLplugin,$(1),QtQuick/Layouts,*)
-endef
-
-#define Package/qt5quick2-qml-module-qtquick-particles2/install
-# $(call Build/Install/QMLplugin,$(1),QtQuick/Particles.2,*)
-#endef
-
-define Package/qt5quick2-qml-module-qtquick-localstorage/install
- $(call Build/Install/QMLplugin,$(1),QtQuick/LocalStorage,*)
-endef
-
-define Package/qt5quick2-qml-module-qtquick-shapes/install
- $(call Build/Install/QMLplugin,$(1),QtQuick/Shapes,*)
-endef
-
-define Package/qt5quick2-qml-module-qtquick-window2/install
- $(call Build/Install/QMLplugin,$(1),QtQuick/Window.2,*)
-endef
-
-define Package/qt5quick2-qml-module-qtquick2/install
- $(call Build/Install/QMLplugin,$(1),QtQuick.2,*)
-endef
-
-
-#$(eval $(call BuildPackage,qt5quick2))
-$(eval $(call BuildPackage,qt5quick2-qml))
-$(eval $(call BuildPackage,qt5quick2-qml-models))
-$(eval $(call BuildPackage,qt5quick2-qml-worker-script))
-$(eval $(call BuildPackage,qt5quick2-quick))
-$(eval $(call BuildPackage,qt5quick2-quick-test))
-#$(eval $(call BuildPackage,qt5quick2-particles))
-$(eval $(call BuildPackage,qt5quick2-quick-widgets))
-$(eval $(call BuildPackage,qt5quick2-quick-shapes))
-$(eval $(call BuildPackage,qt5quick2-qml-module-qtqml-models2))
-$(eval $(call BuildPackage,qt5quick2-qml-module-qtqml-statemachine))
-$(eval $(call BuildPackage,qt5quick2-qml-module-qtqml-workerscript2))
-$(eval $(call BuildPackage,qt5quick2-qml-module-qtlabs-models))
-$(eval $(call BuildPackage,qt5quick2-qml-module-qtlabs-folderlistmodel))
-$(eval $(call BuildPackage,qt5quick2-qml-module-qtlabs-settings))
-$(eval $(call BuildPackage,qt5quick2-qml-module-qtlabs-animation))
-$(eval $(call BuildPackage,qt5quick2-qml-module-qtlabs-sharedimage))
-$(eval $(call BuildPackage,qt5quick2-qml-module-qtlabs-wavefrontmesh))
-$(eval $(call BuildPackage,qt5quick2-qml-module-qtquick2))
-$(eval $(call BuildPackage,qt5quick2-qml-module-qtquick-layouts))
-#$(eval $(call BuildPackage,qt5quick2-qml-module-qtquick-particles2))
-$(eval $(call BuildPackage,qt5quick2-qml-module-qtquick-localstorage))
-$(eval $(call BuildPackage,qt5quick2-qml-module-qtquick-shapes))
-$(eval $(call BuildPackage,qt5quick2-qml-module-qtquick-window2))
-$(eval $(call BuildPackage,qt5quick2-qml-module-qttest))
+++ /dev/null
-#
-# Copyright (C) 2020 OpenWrt
-# This is free software, licensed under the GNU General Public License v2.
-# See /LICENSE for more information.
-#
-
-include $(TOPDIR)/rules.mk
-
-PKG_NAME:=qt5script
-PKG_VERSION:=5.15.0
-PKG_RELEASE:=1
-PKG_HASH:=02dc21b309621876a89671be27cea86a58e74a96aa28da65fe1b37a3aad29373
-
-PKG_SYS_NAME:=qtscript-everywhere-src-$(PKG_VERSION)
-PKG_SOURCE:=$(PKG_SYS_NAME).tar.xz
-PKG_SOURCE_URL:=https://download.qt.io/official_releases/qt/$(basename $(PKG_VERSION))/$(PKG_VERSION)/submodules
-
-PKG_BUILD_DIR=$(BUILD_DIR)/$(PKG_SYS_NAME)
-PKG_BUILD_PARALLEL:=1
-PKG_BUILD_DEPENDS:=qt5base
-PKG_INSTALL:=1
-
-include $(INCLUDE_DIR)/package.mk
-include $(INCLUDE_DIR)/nls.mk
--include $(STAGING_DIR)/host/mk/qmake.mk
-
-define Package/qt5script/Default
- SECTION:=video-frameworks
- CATEGORY:=Video
- SUBMENU:=Frameworks and Toolkits
- TITLE:=Qt5script
-# DEPENDS:=qt5script +qt5base-core
- DEPENDS:=+qt5base-core
- URL:=http://qt.io
-endef
-
-# define Package/qt5script
-# $(call Package/qt5script/Default)
-# DEPENDS:=+qt5base
-# MENU:=1
-# endef
-
-define Package/qt5script-script
- $(call Package/qt5script/Default)
- TITLE+=script
-endef
-
-define Package/qt5script-scriptTools
- $(call Package/qt5script/Default)
- TITLE+=scriptTools
- DEPENDS+=+qt5base-gui +qt5base-widgets +qt5script-script
-endef
-
-define Package/qt5script-examples
- $(call Package/qt5script/Default)
- TITLE+=examples
- DEPENDS+=+qt5script-scriptTools @BROKEN
-endef
-
-define Build/InstallDev
- $(call Build/Install/HostFiles,$(1))
- $(call Build/Install/Headers,$(1))
- $(call Build/Install/Libs,$(1),*)
-endef
-
-define Package/qt5script-script/install
- $(call Build/Install/Libs,$(1),libQt5Script)
-endef
-
-define Package/qt5script-scriptTools/install
- $(call Build/Install/Libs,$(1),libQt5ScriptTools)
-endef
-
-define Package/qt5script-examples/install
- $(call Build/Install/Examples,$(1))
-endef
-
-#$(eval $(call BuildPackage,qt5script))
-$(eval $(call BuildPackage,qt5script-script))
-$(eval $(call BuildPackage,qt5script-scriptTools))
-$(eval $(call BuildPackage,qt5script-examples))
+++ /dev/null
-#
-# Copyright (C) 2020 OpenWrt
-# This is free software, licensed under the GNU General Public License v2.
-# See /LICENSE for more information.
-#
-
-include $(TOPDIR)/rules.mk
-
-PKG_NAME:=qt5tools
-PKG_VERSION:=5.15.0
-PKG_RELEASE:=1
-PKG_HASH:=ddbcb49aab3a2e3672582c6e2e7bec0058feff790f67472343c79e2895e0e437
-
-PKG_SYS_NAME:=qttools-everywhere-src-$(PKG_VERSION)
-PKG_SOURCE:=$(PKG_SYS_NAME).tar.xz
-PKG_SOURCE_URL:=https://download.qt.io/official_releases/qt/$(basename $(PKG_VERSION))/$(PKG_VERSION)/submodules
-
-PKG_HOST_ONLY:=1
-PKG_BUILD_DIR=$(BUILD_DIR)/$(PKG_SYS_NAME)
-HOST_BUILD_DIR=$(BUILD_DIR)/host/$(PKG_SYS_NAME)
-PKG_BUILD_PARALLEL:=1
-HOST_BUILD_PARALLEL:=1
-PKG_INSTALL:=1
-HOST_BUILD_DEPENDS:=qt5base/host
-
-include $(INCLUDE_DIR)/package.mk
-include $(INCLUDE_DIR)/host-build.mk
-include $(INCLUDE_DIR)/nls.mk
--include $(STAGING_DIR)/host/mk/qmake.mk
-
-define Package/qt5tools
- SECTION:=video-frameworks
- CATEGORY:=Video
- SUBMENU:=Frameworks and Toolkits
- TITLE:=qt5tools
- URL:=http://qt.io
- DEPENDS:=+qt5base-core
- BUILDONLY:=1
-endef
-
-define Host/Install
- $(call Host/Install/Default)
-
- $(INSTALL_DIR) \
- $(STAGING_DIR_HOST)/lib \
- $(STAGING_DIR_HOST)/bin
-
- $(CP) \
- $(HOST_INSTALL_DIR)/lib/* \
- $(STAGING_DIR_HOST)/lib/
-
- $(CP) \
- $(HOST_INSTALL_DIR)/bin/* \
- $(STAGING_DIR_HOST)/bin/
-
- ln -sf $(STAGING_DIR_HOST)/bin/lrelease \
- $(STAGING_DIR)/host/bin/
- ln -sf $(STAGING_DIR_HOST)/bin/lupdate \
- $(STAGING_DIR)/host/bin/
-
-endef
-
-$(eval $(call BuildPackage,qt5tools))
-$(eval $(call HostBuild))
+++ /dev/null
-diff --git a/src/src.pro b/src/src.pro
-index 5c256ea..3c4012a 100644
---- a/src/src.pro
-+++ b/src/src.pro
-@@ -17,7 +17,8 @@ qtHaveModule(widgets) {
- }
-
- SUBDIRS += linguist \
-- qtattributionsscanner
-+ qtattributionsscanner \
-+ kmap2qmap
-
- qtConfig(library) {
- !android|android_app: SUBDIRS += qtplugininfo
+++ /dev/null
-diff -ruN qttools-opensource-src-5.8.0.orig/src/kmap2qmap/main.cpp qttools-opensource-src-5.8.0/src/kmap2qmap/main.cpp
---- qttools-opensource-src-5.8.0.orig/src/kmap2qmap/main.cpp 2017-01-02 07:50:13.000000000 +0100
-+++ qttools-opensource-src-5.8.0/src/kmap2qmap/main.cpp 2017-02-21 03:31:59.598892309 +0100
-@@ -270,6 +270,8 @@
- { "Pause", Qt::Key_Pause },
- { "VolumeDown", Qt::Key_VolumeDown },
- { "VolumeUp", Qt::Key_VolumeUp },
-+ { "VolumeMute", Qt::Key_VolumeMute },
-+ { "MicMute", Qt::Key_MicMute },
- { "MediaTogglePlayPause", Qt::Key_MediaTogglePlayPause },
- { "MediaPlay", Qt::Key_MediaPlay },
- { "MediaPause", Qt::Key_MediaPause },
-@@ -286,6 +288,12 @@
- { "ToggleCallHangup", Qt::Key_ToggleCallHangup },
- { "VoiceDial" , Qt::Key_VoiceDial },
- { "LastNumberRedial", Qt::Key_LastNumberRedial },
-+ { "Phone", Qt::Key_Phone },
-+ { "HomePage", Qt::Key_HomePage },
-+ { "Menu", Qt::Key_Menu },
-+ { "Back", Qt::Key_Back },
-+ { "LaunchMail", Qt::Key_LaunchMail },
-+ { "LaunchMedia", Qt::Key_LaunchMedia },
-
- { "KP_0", Qt::Key_0 | Qt::KeypadModifier },
- { "KP_1", Qt::Key_1 | Qt::KeypadModifier },
+++ /dev/null
-#
-# Copyright (C) 2020 OpenWrt
-# This is free software, licensed under the GNU General Public License v2.
-# See /LICENSE for more information.
-#
-
-include $(TOPDIR)/rules.mk
-
-PKG_NAME:=qt5translations
-PKG_VERSION:=5.15.0
-PKG_RELEASE:=1
-PKG_HASH:=45c43268d9df50784d4d8ca345fce9288a1055fd074ac0ef508097f7aeba22fe
-
-PKG_SYS_NAME:=qttranslations-everywhere-src-$(PKG_VERSION)
-PKG_SOURCE:=$(PKG_SYS_NAME).tar.xz
-PKG_SOURCE_URL:=https://download.qt.io/official_releases/qt/$(basename $(PKG_VERSION))/$(PKG_VERSION)/submodules
-
-PKG_BUILD_DIR=$(BUILD_DIR)/$(PKG_SYS_NAME)
-PKG_BUILD_PARALLEL:=1
-PKG_INSTALL:=1
-PKG_BUILD_DEPENDS:=qt5tools/host
-
-include $(INCLUDE_DIR)/package.mk
-include $(INCLUDE_DIR)/nls.mk
--include $(STAGING_DIR)/host/mk/qmake.mk
-
-define Package/qt5translations
- SECTION:=video-frameworks
- CATEGORY:=Video
- SUBMENU:=Frameworks and Toolkits
- TITLE:=qt5translations
- URL:=http://qt.io
-endef
-
-define Package/qt5translations/install
- $(call Build/Install/Translations,$(1),*)
-endef
-
-$(eval $(call BuildPackage,qt5translations))